Forum Discussion
unpivot table with milestones
- 6 years ago
Hi Anonymous
yes, make sure your headers contain characters that make splitting like in the following example possible:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8nQxVNJRAmEjIDYGYhOlWB2QOIhvCsRmQGwOxBZKsbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, A_1 = _t, A_2 = _t, B_1 = _t, B_2 = _t]), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"ID"}, "Attribute", "Value"), #"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}), #"Pivoted Column" = Table.Pivot(#"Split Column by Delimiter", List.Distinct(#"Split Column by Delimiter"[Attribute.1]), "Attribute.1", "Value") in #"Pivoted Column"attaching file as well
If the first row is not there and the second row have unique column name, you can do it in Dax Like that
union(
SELECTCOLUMNS(table,table[Project Id], "Milestore" ,"RH1", "Start Date", table[1.RH.start], "END Date", table[1.RH.start]),
SELECTCOLUMNS(table,table[Project Id], "Milestore" ,"2LH", "Start Date", table[1.LH.start], "END Date", table[1.LH.start])
)
- amitchandak6 years ago
Super User
But ImkeF can tell us a better solution.
- Anonymous6 years agoNot applicable
first row was for illustration.
is this possible via unpivot?
- ImkeF6 years ago
Community Champion
Hi Anonymous
yes, make sure your headers contain characters that make splitting like in the following example possible:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8nQxVNJRAmEjIDYGYhOlWB2QOIhvCsRmQGwOxBZKsbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, A_1 = _t, A_2 = _t, B_1 = _t, B_2 = _t]), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"ID"}, "Attribute", "Value"), #"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}), #"Pivoted Column" = Table.Pivot(#"Split Column by Delimiter", List.Distinct(#"Split Column by Delimiter"[Attribute.1]), "Attribute.1", "Value") in #"Pivoted Column"attaching file as well
- Anonymous6 years agoNot applicable
it works, thanks a lot.
I need the data for a Gantt Chart - now i have my attributes and my start and end date.
Is it possible to show shifts in a different color?
like this example:
- amitchandak6 years ago
Super User
Anonymous
I have suggested dax way in first post. ImkeF , suggsted a better way in M. Can you check solution work for you