Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi all
I have a fairly unconventional data structure that I am looking to tidy up. In short, there can be an overlap of occupants in roles for training up etc but the data structure stores this as below:
Role ID. | Team. | Grade. | Occupant 1 ID. | Occupant 1 Start Date. | Occupant 1 End Date. | Occupant 2 ID. | Occupant 2 Start Date. | Occupant 2 End Date. |
101 | A | 3 | 3001 | 1/1/20 | 3017 | 1/3/23 | ||
102 | A | 2 | 3011 | 1/7/22 |
I am looking to remove the duplicated occupant columns to get the following structure:
Role ID. | Team. | Grade. | Occupant ID. | Start Date. | End Date. |
101 | A | 3 | 3001 | 1/1/20 | |
101 | A | 3 | 3017 | 1/3/23 | |
102 | A | 2 | 3011 | 1/7/22 |
Struggling a bit with how I would go about this in Power Query and any help would be really appreciated!
Solved! Go to Solution.
Hi
Unpivot, split attribute, Pivot
let
Source = YourSource,
Unpivot = Table.UnpivotOtherColumns(Source, {"Role ID.", "Team.", "Grade."}, "Attribute", "Value"),
Split = Table.SplitColumn(Unpivot, "Attribute", Splitter.SplitTextByPositions({0, 11}, false), {"Attribute.1", "Attribute.2"}),
Pivot = Table.Pivot(Split, List.Distinct(Split[Attribute.2]), "Attribute.2", "Value")
in
Pivot
Stéphane
Hi
Unpivot, split attribute, Pivot
let
Source = YourSource,
Unpivot = Table.UnpivotOtherColumns(Source, {"Role ID.", "Team.", "Grade."}, "Attribute", "Value"),
Split = Table.SplitColumn(Unpivot, "Attribute", Splitter.SplitTextByPositions({0, 11}, false), {"Attribute.1", "Attribute.2"}),
Pivot = Table.Pivot(Split, List.Distinct(Split[Attribute.2]), "Attribute.2", "Value")
in
Pivot
Stéphane
Thanks Stéphane, worked perfectly!
User | Count |
---|---|
8 | |
7 | |
5 | |
5 | |
4 |
User | Count |
---|---|
14 | |
13 | |
8 | |
6 | |
6 |