You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算UPS表中两列忽略零值的平均服务年龄(排除切片器)

DAX度量值:忽略零值且不受切片器影响的平均服务年龄计算

以下是满足需求的DAX度量值:

Avg Service Age = 
VAR TotalSum = SUMX(
    ALL(UPS),
    IF([1st Service Age] > 0, [1st Service Age], 0) + 
    IF([2nd Service Age] > 0, [2nd Service Age], 0)
)
VAR NonZeroCount = SUMX(
    ALL(UPS),
    IF([1st Service Age] > 0, 1, 0) + 
    IF([2nd Service Age] > 0, 1, 0)
)
RETURN
FORMAT(DIVIDE(TotalSum, NonZeroCount, 0), "0.00")

关键逻辑说明

  • ALL(UPS):强制使用整个UPS表的全部数据,完全不受页面上任何切片器、筛选器的影响
  • TotalSum:逐行遍历数据,累加两列中所有大于0的数值总和(示例中为3+5+2+6+2+1=19)
  • NonZeroCount:逐行统计两列中非零值的总个数(示例中为6)
  • DIVIDE(..., 0):安全处理除法运算,当所有值都是0导致除数为0时,直接返回0
  • FORMAT(..., "0.00"):将结果格式化为两位小数,确保输出符合3.17或0.00的格式要求

验证结果

将该度量值添加到报表后,示例数据会返回3.17;若所有行的两列数值均为0,度量值将返回0.00,完全符合需求。

内容的提问来源于stack exchange,提问作者cghanta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 14:12:10