Complex Pivot
How can I use Magic ETL to convert a table from
to
without using scripting? I have to remove all scripting tiles from my ETLs. I'm assuming some combination of RANK & WINDOW, PIVOT and GROUP BY, but am running out of talent.
Best Answers
-
My incoming dataset:
My flow looks like this:
The two outputs (Movie 1, Movie 2) at the bottom are for you to debug and see what is happening.
Next I create a Rank using Row_Number. The order is by Role, Name. The partition is based on Team.Then I concatenate the Role and Rank to get the labels we want. This is going to result in something slightly different than what you show. I'll explain.
Here's where those labels differ…
We are going to pivot based on the labels. The leader of the Team is an R1. The subordinates are R2. The row number is going to only have R1 1 for the leader. The rest will be R2 1, R2 2, R2 3, and R2 4.finally, we limit the columns to those labels.
To get the result:
** Was this post helpful? Click Agree or Like below. **
** Did this solve your problem? Accept it as a solution! **1 -
The debug tiles I used, help me "see" what is happening with the data and their values. This helps me identify the needs for the pivot.
Note in the Movie 2 debug below, we see the Role_Rank that will become our new column headers.** Was this post helpful? Click Agree or Like below. **
** Did this solve your problem? Accept it as a solution! **0
Answers
-
Create a Pivot. Use the "Pivot" tile to pivot the Role column into new columns. Then group and aggregate by using the "Group By" tile to group by Team and concatenate the names for each role.
{Urg…apologies, my solution below is a bit different than I described. We don't group by.}** Was this post helpful? Click Agree or Like below. **
** Did this solve your problem? Accept it as a solution! **0 -
My incoming dataset:
My flow looks like this:
The two outputs (Movie 1, Movie 2) at the bottom are for you to debug and see what is happening.
Next I create a Rank using Row_Number. The order is by Role, Name. The partition is based on Team.Then I concatenate the Role and Rank to get the labels we want. This is going to result in something slightly different than what you show. I'll explain.
Here's where those labels differ…
We are going to pivot based on the labels. The leader of the Team is an R1. The subordinates are R2. The row number is going to only have R1 1 for the leader. The rest will be R2 1, R2 2, R2 3, and R2 4.finally, we limit the columns to those labels.
To get the result:
** Was this post helpful? Click Agree or Like below. **
** Did this solve your problem? Accept it as a solution! **1 -
The debug tiles I used, help me "see" what is happening with the data and their values. This helps me identify the needs for the pivot.
Note in the Movie 2 debug below, we see the Role_Rank that will become our new column headers.** Was this post helpful? Click Agree or Like below. **
** Did this solve your problem? Accept it as a solution! **0
Categories
- All Categories
- 1.8K Product Ideas
- 1.8K Ideas Exchange
- 1.5K Connect
- 1.2K Connectors
- 300 Workbench
- 6 Cloud Amplifier
- 8 Federated
- 2.9K Transform
- 100 SQL DataFlows
- 616 Datasets
- 2.2K Magic ETL
- 3.9K Visualize
- 2.5K Charting
- 738 Beast Mode
- 57 App Studio
- 40 Variables
- 685 Automate
- 176 Apps
- 452 APIs & Domo Developer
- 47 Workflows
- 10 DomoAI
- 36 Predict
- 15 Jupyter Workspaces
- 21 R & Python Tiles
- 394 Distribute
- 113 Domo Everywhere
- 275 Scheduled Reports
- 6 Software Integrations
- 124 Manage
- 121 Governance & Security
- 8 Domo Community Gallery
- 38 Product Releases
- 10 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 108 Community Announcements
- 4.8K Archive