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

DAX实现截至当前月份累计计数,总计行异常问题求助

解决DAX月度累计总计行仅统计到当前月份的问题

原度量值在月度明细行的累计逻辑正常,但总计行仍会计算全年累计,原因是总计行上下文没有单个选中的月份,SELECTEDVALUE(dCalendario[Mês])返回空值,导致IF条件判断失效,最终执行了全年的累计计算。

修改后的DAX度量值

Previsto_Acumulado = 
VAR CurrentMonth = MONTH(TODAY())
VAR CurrentYear = YEAR(TODAY())
RETURN
IF(
    // 判断当前上下文是否为单个月份的明细行
    ISINSCOPE(dCalendario[Nome do Mês]),
    // 明细行逻辑:仅当月度<=当前月份时计算累计
    IF( SELECTEDVALUE(dCalendario[Mês]) <= CurrentMonth,
        CALCULATE(
            [Previsto],
            FILTER(
                ALL('dCalendario'),
                'dCalendario'[Ano] = CurrentYear &&
                'dCalendario'[Mês] <= MAX('dCalendario'[Mês])
            )
        ),
        BLANK()
    ),
    // 总计行逻辑:直接累计到当前月份
    CALCULATE(
        [Previsto],
        FILTER(
            ALL('dCalendario'),
            'dCalendario'[Ano] = CurrentYear &&
            'dCalendario'[Mês] <= CurrentMonth
        )
    )
)

关键逻辑说明

  1. 上下文区分:用ISINSCOPE(dCalendario[Nome do Mês])判断当前是明细行还是总计行,分别执行不同的累计逻辑
  2. 年度过滤:新增年度匹配条件'dCalendario'[Ano] = CurrentYear,避免跨年度的错误累计(比如去年12月和今年1月的累计混淆)
  3. 总计行控制:总计行直接筛选当前年度中月份≤当前实际月份的数据,确保仅统计到当月的累计值

效果验证

假设当前实际月份是7月(julho),修改后总计行将返回19420,而非原度量值计算的全年累计值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:58:38