如何在DAX中按分组计算列的Count Distinct值?
在DAX中实现分组列的唯一值计数
样本数据
Mode Function mode_1 A mode_2 B mode_1 A mode_3 A mode_3 B
期望输出
Mode distinct.count mode_1 1 mode_2 1 mode_3 2
解决方案
方法1:生成汇总表
使用SUMMARIZE函数按Mode分组,同时计算每组Function的唯一值数量,DAX表达式如下:
Function_Distinct_Count = SUMMARIZE( '你的数据表', '你的数据表'[Mode], "distinct.count", DISTINCTCOUNT('你的数据表'[Function]) )
将'你的数据表'替换为实际表名,执行后直接得到目标汇总结果。
方法2:创建度量值用于可视化
如果是在Power BI等工具中通过可视化组件展示结果,可创建如下度量值:
Function唯一值计数 = DISTINCTCOUNT('你的数据表'[Function])
将Mode拖入行区域,该度量值拖入值区域,即可自动按Mode分组展示唯一值计数。
补充说明
DISTINCTCOUNT会自动忽略空值,若需统计空值为一个唯一值,可替换为COUNTROWS(DISTINCT('你的数据表'[Function]))。
内容的提问来源于stack exchange,提问作者symkly
相关产品推荐
相关产品推荐

