[英]Finding contiguous number ranges of local category groups
我是 Power Query(M 語言)的新手。 我了解 Power Query 的基礎知識,但遇到了一個具有特殊分組要求的用例。
假設我的源數據是這樣的:
發票# | 顧客# |
---|---|
1個 | 一種 |
2個 | 一種 |
3個 | 乙 |
4個 | 一種 |
5個 | 一種 |
6個 | 乙 |
7 | 乙 |
我希望將其轉換為:
來自發票# | 發票# | 顧客# |
---|---|---|
1個 | 2個 | 一種 |
3個 | 3個 | 乙 |
4個 | 5個 | 一種 |
6個 | 7 | 乙 |
我知道這是一種“差距和孤島”問題,我知道如何在 SQL 中做到這一點。但是我不確定 Power Query (M) 是否能夠處理這種類型的轉換。
我怎樣才能達到這個結果?
這在 Power Query 中很簡單,使用特殊的可選關鍵字來設置分組種類: GroupKind.Local
。 該表必須按發票編號正確排序才能工作。 請參閱您可以粘貼到空白查詢中的示例代碼:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUXJUitWJVjKCs4yBLCcwywQuZgpnmcFlzSGsWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Invoice#" = _t, #"Customer#" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Invoice#", Int64.Type}, {"Customer#", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Customer#"}, {{"Invoice From", each List.Min([#"Invoice#"]), type nullable number}, {"Invoice To", each List.Max([#"Invoice#"]), type nullable number}}, GroupKind.Local)
in
#"Grouped Rows"
結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.