Hier ist ein Beispielcode, der das gewünschte Ergebnis liefert.
Fügen Sie diesen Code in den erweiterten Editor einer leeren Abfrage ein.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("nZPPSgMxEMZfRXIOIZn82c2xoFBZpFAVKWUPVRYPtdvFvp43X8yd6sZOSGPqISEhv29mMl+yXrPZ7ur686Pvu5dt1z9376+MM8WBO64kVwZ345g3uKjHCSRreYkMJhk4nKpCmR7Hopmt8EDipAqFhuYrlVki01KYQqH73/2qcTzMb8L1Qrq7/f6w3eyGHwX2Afu9WjwusTAgvU/APoJHt87Dx9y399Mqiwb/v2vQwuVoKA+saWAvIEcbEtgKm4ANtxzdUOhq85RtRWDdBWxFWEiZF9iaFOxzqC9p8USDjDqRCl1zz4/HQO1TRugsDiXP6BePPDz5Pknc0GLylVsKW5EvxV2GV2fx5WYYurfDyffFW0IdPdc/8OApOPJ107iW0RNgbfsF", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Address = _t, #"address number" = _t, Code = _t, Art = _t, threshold = _t, Energy = _t]),
change_energy_type = Table.TransformColumnTypes(Source,{{"Energy", Int64.Type}}),
group_rows = Table.Group(change_energy_type, {"Address", "address number"}, {{"_allRows", each _, type table [Address=nullable text, address number=nullable text, Code=nullable number, Art=nullable text, threshold=nullable number, Energy=nullable number]}}),
sort_nested = Table.TransformColumns(group_rows, {{"_allRows", each Table.Buffer(Table.Sort(_, {"Energy", Order.Descending}))}}),
split_tables = Table.AddColumn(sort_nested, "splitTables", each Table.Split([_allRows], List.Count(Text.Split([address number], ",")))),
remove_unsplit_tables = Table.RemoveColumns(split_tables,{"_allRows"}),
expand_split_tables = Table.ExpandListColumn(remove_unsplit_tables, "splitTables"),
add_nested_index = Table.TransformColumns(expand_split_tables, {{"splitTables", each Table.AddIndexColumn(_, "Index", 0, 1)}}),
extract_address_number = Table.TransformColumns(add_nested_index, {{"splitTables", each Table.AddColumn(_, "extractedAddress", each let numberList = Text.Split([address number], ",") in numberList{Number.Mod([Index], List.Count(numberList))})}}),
expand_nested = Table.ExpandTableColumn(extract_address_number, "splitTables", {"Code", "Art", "threshold", "Energy", "extractedAddress"}, {"Code", "Art", "threshold", "Energy", "extractedAddress"}),
remove_old_address_number = Table.RemoveColumns(expand_nested,{"address number"}),
rename_address_number = Table.RenameColumns(remove_old_address_number,{{"extractedAddress", "address number"}}),
change_types = Table.TransformColumnTypes(rename_address_number,{{"Code", Int64.Type}, {"Art", type text}, {"threshold", type number}, {"Energy", type number}, {"address number", Int64.Type}}),
sort_by_code = Table.Buffer(Table.Sort(change_types,{{"Code", Order.Ascending}})),
reorder_columns = Table.ReorderColumns(sort_by_code,{"Address", "address number", "Code", "Art", "threshold", "Energy"})
in
reorder_columns

Did I answer your question? Mark my post as a solution! |
Proud to be a Super User! | |