Alteryx’s Arrange tool expands columns into rows for reporting, charting, or analytics purposes, adding descriptions to new rows. (This action is often called “unpivoting.”) Prophecy implements this functionality using the Unpivot gem.Documentation Index
Fetch the complete documentation index at: https://docs.prophecy.ai/llms.txt
Use this file to discover all available pages before exploring further.
Automated migration results
When Import detects an Alteryx Arrange tool, it generates a sequence of Reformat gems to reproduce row-expansion behavior:-
An initial Reformat gem creates an array of labeled row objects using
arrayandnamed_struct. Eachstructrepresents one output row derived from the original input row. -
A second Reformat gem applies
explodeto the array, converting eachstructinto its own output row. - A final Reformat gem extracts fields from the exploded struct into standard output columns.
Manually replicate in Prophecy
To manually replicate the Arrange tool using the Unpivot gem:- Add an Unpivot gem to the canvas.
- Select Key Columns.
- Select Data Columns.
- If desired, check Use custom output column names for Name & Value pairs and assign column names.
Configuration options
In Alteryx (Arrange tool)
Configure the tool by:- Selecting the input fields to arrange.
- Defining how fields are grouped or labeled.
- Specifying whether other fields are carried through unchanged.
Prophecy (Unpivot gem)
Configure the Unpivot gem by- Selecting key columns.
- Selecting data columns.
- Renaming columns as desired.
In Prophecy (Reformat gems)
For exact Arrange tool behavior, configure multiple Reformat gems using the following patterns. Example construction pattern:Output behavior
- Alteryx outputs multiple rows per input row, with labels indicating the source field.
- Prophecy produces the same row expansion by exploding an array of structs, then emitting standard columns.
- Row counts increase according to the number of arranged fields.
Known caveats
- Multiple-step implementation: Arrange behavior is expressed across several Reformat gems rather than a single tool.
- Type normalization: Import may cast values (for example, to
string) to ensure consistent struct schemas. - Intermediate columns: Temporary columns (such as
_consolidated_data_coland_exploded_data_col) are used internally and removed in the final output.
Example
Goal: produce a dataset where each input row generates multiple output rows.Input dataset
Assume the input dataset contains one row per record, with multiple date fields stored in separate columns:| record_id | start_date | end_date | cancel_date | user_name |
|---|---|---|---|---|
| 1 | 10/14/2025 | 11/14/2025 | 12/14/2025 | Amy |
| 2 | 10/08/2025 | 11/08/2025 | 12/08/2025 | Priya |
Alteryx Arrange tool
- Select
record_idanduser_nameas key fields. - Configure output fields as follows:
- Column headers:
Description,Date - Row 1: Description:
Start Date; Date: selectstart_date. - Row 2: Description:
End Date; Date: selectend_date. - Row 3: Description:
Cancel Date; Date: selectcancel_date.
- Column headers:
Prophecy equivalent
- Add an Unpivot gem.
- For Key Columns, select
record_idanduser_name. - For Data Columns, select:
start_date,end_dateandcancel_date. - Select Use custom output column names for Name & Value pairs.
- Rename the Name column to
description. - Rename the Value column to
date. - Save and run the gem.
description will be start_date, end_date, cancel_date. To change these names, use a Reformat gem.
Resulting output
Each set of operations produces a dataset where each input row generates multiple output rows:| description | date | record_id | user_name |
|---|---|---|---|
| Start date | 10/14/2025 | 1 | Amy |
| End date | 11/14/2025 | 1 | Amy |
| Cancel date | 12/14/2025 | 1 | Amy |
| Start date | 10/08/2025 | 2 | Priya |
| End date | 11/08/2025 | 2 | Priya |
| Cancel date | 12/08/2025 | 2 | Priya |

