我也来个纯属自娱自乐的- let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIwMja1VIrVgfPMDFB4hsg8c3MUngWY5wTlQUxxhvAsDFB4hig8IzDPBcozRuGZoPCANsQCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [SN = _t, INV = _t]),
#"Grouped Rows" = Table.Group(Source,{"SN"},
{{"All", each
let
lst = [INV],
lst_num = List.Sort(List.Transform(lst, Number.From), Order.Ascending)
in
List.Accumulate(lst, {}, (s,c)=>if List.Contains(lst_num, Number.From(c)-1) then List.RemoveLastN(s,1) & {s{List.Count(s)-1}&{c}} else s&{{c}})
}}),
#"Expanded Each List" = Table.TransformColumns(#"Grouped Rows", {"All", each List.Transform(_, each if List.Count(_)>1 then Text.From(List.Min(_))&"-"&Text.From(List.Max(_)) else Text.From(_{0}))}),
#"Extracted Values" = Table.TransformColumns(#"Expanded Each List", {"All", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
#"Extracted Values"
复制代码
|