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

SSAS表格模型中[Önceki Yıl IPP]总计值异常问题咨询

SSAS表格模型中上年同期度量值总计与行和不符的问题解决

在SSAS表格模型中,发现**[Önceki Yıl IPP(上年同期IPP)]**列的总计值与各行数值之和不相等,当前总计结果为98.998。

现有度量值

收入计算度量值

用于计算收入(Amount_)的总和,单位转换为千:

IPP Ciro:=SUM([Amount_])/1000  

上年同期收入度量值

用于计算上年同期收入总和,也是当前出现问题的度量值:

Önceki Yıl IPP:=VAR LastDaySelectionIPP =LASTNONBLANK ( Tarih[Tarih], [IPP Ciro] )VAR CurrentRangeIPP =DATESBETWEEN ( Tarih[Tarih], MIN ( Tarih[Tarih] ), LastDaySelectionIPP )VAR PreviousRange =SAMEPERIODLASTYEAR ( CurrentRangeIPP )RETURNIF (LastDaySelectionIPP >= MIN ( Tarih[Tarih] ),CALCULATE ( [IPP Ciro], PreviousRange ))

问题原因

当前度量值的总计行计算逻辑与行级别不同:

  • 行级别基于当前行的日期范围,计算对应上年同期的收入
  • 总计行则取整个筛选范围内的最小日期和最后一个有数据的日期,计算该全局区间的上年同期收入,而非对各行结果进行累加

解决方案

修改度量值,使用SUMX迭代行上下文,逐个计算每行的上年同期值后累加,让总计值等于各行结果之和:

替换为以下DAX代码(需根据报表分组维度调整VALUES中的列):

Önceki Yıl IPP:=SUMX(
    VALUES(你的分组维度列), -- 替换为报表中用于分组的列,如产品、类别或日期分组列
    VAR LastDaySelectionIPP = LASTNONBLANK ( Tarih[Tarih], [IPP Ciro] )
    VAR CurrentRangeIPP = DATESBETWEEN ( Tarih[Tarih], MIN ( Tarih[Tarih] ), LastDaySelectionIPP )
    VAR PreviousRange = SAMEPERIODLASTYEAR ( CurrentRangeIPP )
    RETURN
        IF (
            LastDaySelectionIPP >= MIN ( Tarih[Tarih] ),
            CALCULATE ( [IPP Ciro], PreviousRange )
        )
)

代码说明

  • SUMX会遍历指定分组的每一行,计算该行对应的上年同期收入
  • 最终将所有行的计算结果求和,确保总计行是各行数值的累加,与行级别计算逻辑保持一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:10:15