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

按年计算平均单位成本的Measure返回异常值,求解决方法

解决DAX年度平均单位成本计算问题

问题核心

你的Sum(Cost)/DistinctCount(Items)度量值失效的原因是:DistinctCount(Items)统计的是全量唯一物品总数(13件),没有被年份上下文筛选——因为物品表(Items)未与日期表/采购事实表建立正确的筛选关联,导致年份筛选无法传递到Items表。

解决方案

方法1:修正数据模型关联

  • 确保采购事实表(包含Cost、采购日期、ItemID的核心业务表)同时关联:
    • 日期表(用于年份维度筛选)
    • 物品表(Items,仅用于关联物品属性,不要直接用于计数)
  • 所有筛选逻辑通过事实表传递,确保年份上下文能过滤到当年的采购记录。

方法2:修改DAX度量值

替换原度量值为基于采购事实表的计算:

年度平均单位成本 = 
DIVIDE(
    SUM('采购事实表'[Cost]),
    DISTINCTCOUNT('采购事实表'[ItemID]),
    BLANK()
)
  • 逻辑说明:年份上下文会先过滤事实表中当年的所有采购行,DISTINCTCOUNT('采购事实表'[ItemID])会统计当年采购的唯一物品数量,而非全量13件。对应你提到的案例,会计算350/5=70,符合预期。
  • 额外调整:若需统计当年采购总件数(含同一件物品多次采购的情况),将DISTINCTCOUNT替换为COUNT('采购事实表'[ItemID])即可。

关键注意事项

  • 优先使用DIVIDE函数替代直接除法,避免分母为0时出现计算错误。
  • 不要直接在物品主表(Items)上做计数,必须基于事实表的关联字段,才能继承上下文筛选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:45:42