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

DAX度量值求助:按年份动态展示发货量(过往年份为0,当前及后续年份显示对应年份总发货量)

DAX度量值求助:按年份动态展示发货量(过往年份为0,当前及后续年份显示对应年份总发货量)

嗨Antonio,我仔细看了你的需求和调试过程,咱们来把这个动态度量值的问题彻底解决掉~

先理清楚你的核心需求:在矩阵视图里(行是生产年份,列是日历年份),当列的日历年份早于行的生产年份时显示0,从生产年份开始及之后的所有年份,都显示该生产年份的总发货量——从你贴出的调试结果来看,已经摸到门道了,只需要把逻辑补全就行。

直接给你能落地的DAX度量值:

QuantityShippedAdjusted = 
VAR CurrentProductionYear = MAX('Spedizioni'[anno]) // 获取当前行对应的生产年份
VAR CurrentCalendarYear = MAX('Calendar Lookup'[Year]) // 获取当前列对应的日历年份
VAR TotalShippedForProductionYear = 
    CALCULATE(
        [Quantità spedita], // 调用你已有的基础发货量度量值
        ALL('Calendar Lookup'), // 清除日历表的列筛选,确保计算的是生产年份的总发货量
        'Spedizioni'[anno] = CurrentProductionYear // 锁定当前行的生产年份
    )
RETURN
    IF(CurrentCalendarYear < CurrentProductionYear, 0, TotalShippedForProductionYear)

我给你拆解下每一步的作用:

  • CurrentProductionYear:从发货表中提取当前行的生产年份,确保跟着行上下文走
  • CurrentCalendarYear:从日历表中拿到当前列的筛选年份,对应矩阵的列维度
  • TotalShippedForProductionYear:这里用ALL('Calendar Lookup')去掉列的年份筛选干扰,保证不管列选的是哪一年,都能精准算出当前生产年份的总发货量
  • 最后用IF做判断:如果列的年份早于生产年份就返回0,否则返回该生产年份的总发货量

如果你的基础度量值[Quantità spedita]已经正确计算了发货量,这个公式就能直接实现你要的效果——比如生产年份2020的行,2018、2019列显示0,2020到2023列都显示2500,完全匹配你的预期。

你之前调试的公式只返回了年份值,所以才会出现整行都是同一个数的情况,现在把逻辑补全后就能动态响应每一列的年份筛选了。

备注:内容来源于stack exchange,提问作者Antonio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 07:19:38