I have a 3 column excel table where I want to store a group and 2 dimentions. Dim 1 is always just a single value Dim 2 can be multiple intervals separated by commas or just a single value.
My aim is to generate a table with all different combinations in powerquery in order to use it as a key. Some help on this would be much appreciated!
Start:
Finish:
I used the following M-Code to transform your start table into the desired result
let
Quelle = Excel.CurrentWorkbook(){[Name="tblData"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"group", type text}, {"dim1", Int64.Type}, {"dim2", type text}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ", "dim2_list", each Text.Split([dim2],",")),
#"Erweiterte Benutzerdefiniert" = Table.ExpandListColumn(#"Hinzugefügte benutzerdefinierte Spalte", "dim2_list"),
#"Entfernte Spalten" = Table.RemoveColumns(#"Erweiterte Benutzerdefiniert",{"dim2"}),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Entfernte Spalten", "dim2", each fnCreateList([dim2_list])),
#"Erweiterte dim2" = Table.ExpandListColumn(#"Hinzugefügte benutzerdefinierte Spalte1", "dim2"),
#"Entfernte Spalten1" = Table.RemoveColumns(#"Erweiterte dim2",{"dim2_list"})
in
#"Entfernte Spalten1"
Function fnCreateList
used in the above code
(inp as text) =>
let
secondNo= Number.FromText(Text.End(inp,Text.Length(inp)- Text.PositionOf(inp,"-")-1)),
firstNo =try Number.FromText(Text.Start(inp,Text.PositionOf(inp,"-"))) otherwise secondNo,
result= {firstNo .. secondNo}
in
result