Power BI中如何基于长表去重计数结果创建平均值度量值
正确DAX度量值写法
你之前的代码问题出在DISTINCT的使用位置错误:你是要统计每个ID1对应的ID2字段去重后的数量,而不是对行计数的结果做去重,正确写法如下:
AVERAGEX ( VALUES ( 'TABLE'[ID1] ), CALCULATE ( DISTINCTCOUNT ( 'TABLE'[ID2] ) ) )
逻辑说明
- 外层
AVERAGEX会迭代数据表中所有不重复的ID1值 - 内层
CALCULATE会将当前迭代的ID1作为筛选上下文,统计该ID1关联的所有ID2的去重计数 - 最终对所有ID1的ID2去重计数值求平均,刚好得到你需要的
(2+1+1)/3=1.33的结果
如果需要适配页面多筛选器的场景,也可以用下面可读性更强的变量写法,效果完全一致:
VAR ID1WithID2Cnt = ADDCOLUMNS ( VALUES ( 'TABLE'[ID1] ), "关联ID2去重数", CALCULATE ( DISTINCTCOUNT ( 'TABLE'[ID2] ) ) ) RETURN AVERAGEX ( ID1WithID2Cnt, [关联ID2去重数] )
内容的提问来源于stack exchange,提问作者user35131
相关产品推荐
相关产品推荐

