我正在创建一个报告,其中有两列,表格示例如下:
DocumentNo ReceiptNo
doc1 Rec1
doc2 Rec2
doc3 rec3
doc1 rec4
doc3 rec5
doc3 rec6
我需要在中间添加一列,它确实可以提供按文档号分组的行的运行计数
DocumentNo Helper ReceiptNo
doc1 1 Rec1
doc2 1 Rec2
doc3 1 rec3
doc1 2 rec4
doc3 2 rec5
doc3 3 rec6
在 Excel 本身中很容易做到这一点,但我想在 Powerquery 或 SQL 级别中做到这一点。
最佳答案
在 PQ 中这也很简单:
let
Source = Excel.CurrentWorkbook(){[Name="Table"]}[Content],
group = Table.Group(Source, {"DocumentNo"}, {"temp", each Table.AddIndexColumn(_, "Helper", 1, 1)}),
expand = Table.ExpandTableColumn(group, "temp", {"Helper", "ReceiptNo"})
in
expand
或者,如果您需要保持行的顺序:
let
Source = Excel.CurrentWorkbook(){[Name="Table"]}[Content],
i = Table.AddIndexColumn(Source, "i", 0, 1),
group = Table.Group(i, {"DocumentNo"}, {"temp", each Table.AddIndexColumn(_, "Helper", 1, 1)}),
expand = Table.ExpandTableColumn(group, "temp", {"Helper", "ReceiptNo", "i"}),
sort = Table.Sort(expand,{"i", 0}),
final = Table.RemoveColumns(sort,{"i"})
in
final
关于excel - Powerquery 按组运行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57525571/