Power BI使用DAX计算指定分类下各服务器去重账户数的平均值
DAX表达式实现方案
假设你的源表名称为SourceTable,可直接创建如下度量值:
平均每服务器去重账户数 = AVERAGEX( VALUES('SourceTable'[server]), CALCULATE( DISTINCTCOUNT('SourceTable'[account]), 'SourceTable'[category1] = "baz" ) )
逻辑说明(完全匹配需求步骤)
- 筛选范围控制:
CALCULATE中指定的'SourceTable'[category1] = "baz"条件,固定了所有计算都仅覆盖category1为baz的行,不受外部筛选器影响。如果需要适配外部切片器选择的category1值,删除该筛选条件即可。 - 单服务器去重账户计算:
VALUES('SourceTable'[server])会提取所有符合筛选条件的不重复服务器列表,AVERAGEX逐一遍历每个服务器,用DISTINCTCOUNT计算当前服务器对应的去重账户数量,和示例结果完全匹配:server1得1、server2得1、server3得2。 - 平均值计算:
AVERAGEX将上一步得到的所有服务器的去重账户数做算术平均,示例场景下计算结果为(1+1+2)/3≈1.33。
内容的提问来源于stack exchange,提问作者Pierro
相关产品推荐
相关产品推荐

