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

DAX问题:SUMMARIZECOLUMNS中无法移除周维度过滤器

DAX查询问题:周销量与年度总销量同值的解决方法

问题现象

你编写的DAX查询中,Sales Quantity Total列未返回指定年份的总销量,反而和Sales Quantity(周销量)值完全相同。移除Datum[Jahr]的筛选后,ALL()函数能正常返回总销量,但需要保留年份筛选。

核心原因

你在SUMMARIZECOLUMNS中同时做了两件事:

  1. 通过FILTER('Datum', Datum[Jahr]="2022")添加查询级年份筛选;
  2. 将Datum[Jahr-Woche]设为分组列,生成行级周筛选。

这两个筛选会形成嵌套上下文:每个分组行的上下文同时包含当前周和年份的筛选。此时用ALL(Datum[Jahr-Woche])仅移除了行级周筛选,但查询级的年份筛选仍会和Datum表中Jahr与Jahr-Woche的依赖关系绑定,导致CALCULATE的上下文仍被限制在当前周,无法计算全年份总销量。

解决方法

方法一:使用ALLEXCEPT保留年份筛选

用ALLEXCEPT(Datum, Datum[Jahr])明确移除Datum表中除年份外的所有筛选,确保计算全年份总销量:

EVALUATE
SUMMARIZECOLUMNS(
    Artikel[ART Artikel],
    Datum[Jahr-Woche],
    FILTER(Artikel, Artikel[ART ArtikelNr] = "222834"),
    FILTER('Datum', Datum[Jahr] = "2022"),
    "Sales Quantity", [VK Menge],
    "Sales Quantity Total", CALCULATE([VK Menge], ALLEXCEPT(Datum, Datum[Jahr]))
)

方法二:调整年份筛选的位置

将年份筛选从SUMMARIZECOLUMNS的查询级筛选移到CALCULATE的上下文修改中,避免嵌套筛选冲突:

EVALUATE
SUMMARIZECOLUMNS(
    Artikel[ART Artikel],
    Datum[Jahr-Woche],
    FILTER(Artikel, Artikel[ART ArtikelNr] = "222834"),
    "Sales Quantity", [VK Menge],
    "Sales Quantity Total", CALCULATE([VK Menge], ALL(Datum[Jahr-Woche]), Datum[Jahr] = "2022")
)

补充说明

当你移除Datum[Jahr]的筛选后,ALL(Datum[Jahr-Woche])会移除所有周的筛选,此时计算的是所有年份的总销量,这就是为什么它能正常工作,但不符合你需要的年份范围限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:50:36