当前版本的Power Query没有用户界面,无法在Group By操作中创建Distinct Count计算。但是,您可以通过简单编辑Power Query窗口生成的代码在“ M”中执行此操作。

考虑Excel中的下表:

DistinctPowerQuery_01

您想要获得一个表,其中包含每个客户购买的不同产品的数量。您从表开始创建查询

 

DistinctPowerQuery_02

您仅在查询中保留分组依据所需的列和不重复计数计算,而除去其他列。例如,选择“产品和客户”,然后右键单击“删除其他列”菜单选项。

DistinctPowerQuery_03

 

选择“客户”列,然后单击“分组依据”转换。您会看到一个对话框,默认情况下会创建一个“计数行”列。

DistinctPowerQuery_04

 

此查询统计每个客户进行了多少笔交易,您没有办法应用不同的计数计算。此时,只需从此更改查询:


    Source = .CurrentWorkbook(){[Name =” Sales”]} [内容],
    RemoveedOtherColumns = Table.SelectColumns(源,{“产品”,“客户”}),
    GroupedRows = Table.Group(RemovedOtherColumns,{“客户”},{{“计数”,每个Table.RowCount(_),类型数字}})

    GroupedRows中

对此:


    Source = .CurrentWorkbook(){[Name =” Sales”]} [内容],
    RemoveedOtherColumns = Table.SelectColumns(源,{“产品”,“客户”}),
    GroupedRows = Table.Group(RemovedOtherColumns,{“顾客”},{{‘计数’,每个Table.RowCount(Table.Distinct(_)) ,型号}})

    GroupedRows

Table.RowCount函数计算组中存在多少行。通过在此处调用Table.DistinctCount,可以将表中的行数减少为不同计数值的列表,并返回正确的值。

DistinctPowerQuery_05

 

以上内容采用机器翻译,如想要更好的阅读体验 → 阅读原文

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注