excel - Powerquery 按组运行计数

标签 excel powerquery

我正在创建一个报告,其中有两列,表格示例如下:

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/

相关文章:

excel - TAB 从 Excel VBA/MACRO 分隔 txt 文件

vba - 动态添加并运行一段vba代码

indexing - Power Query 基于多列创建组编号

if-statement - 过滤 DAX 中连接字段的特定值

excel - 在 Excel 查询编辑器中合并具有不同列数的 CSV 文件文件夹

excel - 区域中最后使用的单元格 - Excel 2013

regex - 如何使用 vba 正确地重新格式化具有多种变化的尺寸值?

powerbi - Power Query - 从 Excel 文件中仅提取可见/过滤的单元格

excel - 使工作表中的 ActiveX 控件适合单元格大小

sql - PowerQuery - 使用表格中的单元格作为查询代码的一部分(动态或非动态)