Power BI中MEDIANX与AVERAGEX功能是否一致?及无输出问题排查
Power BI DAX:MEDIANX与AVERAGEX的差异及无输出问题解决
核心差异说明
MEDIANX和AVERAGEX同属DAX迭代函数,但聚合逻辑存在本质区别:
- AVERAGEX:遍历目标表的每一行,计算表达式结果后对所有结果取算术平均值,只要存在非空结果就会输出
- MEDIANX:遍历目标表的每一行,收集所有表达式结果后取中位数;结果集为空时无输出,单值时返回该值,偶数个值时返回中间两数的平均值
你的MEDIANX无输出的解决方法
1. 重构迭代逻辑(推荐)
改用SUMMARIZE先生成明确的账户-错误计数汇总表,再用MEDIANX迭代该表,避免上下文过滤的干扰:
Medianx(error count vs ID) = MEDIANX( // 生成包含账户ID和对应错误计数的临时表 SUMMARIZE( 'Device', 'Device'[account#], "@ErrorCount", COUNTA('Device'[error count]) ), // 迭代临时表中的错误计数值计算中位数 [@ErrorCount] )
2. 排查数据与上下文问题
- 确认
'Device'[account#]无空白值,且每个账户对应的error count列至少有一个非空值(若全为空,COUNTA返回0,MEDIANX会输出0而非无输出) - 若在可视化组件中使用该度量值,检查切片器、页面筛选器是否过滤掉了所有账户,导致迭代的结果集为空
内容的提问来源于stack exchange,提问作者Michael Carrasco
相关产品推荐
相关产品推荐

