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

如何在SSAS查询中基于分组数据另一列的最大值筛选列?

如何在SSAS查询中基于分组数据另一列的最大值筛选列?

嗨,我懂你现在的困扰——想给每个SKU(产品)筛选出从它最早出现最大销量的那周开始到最后的所有数据,之前的DAX写法因为上下文引用的问题报错了对吧?我来帮你搞定这个需求!

先理清楚核心需求

你要的是:

  • 对每个产品,找到它销量最高的所有周里最早的那个周(比如SKU333有两周销量都是120,就取更早的周4)
  • 然后只保留该产品中周数大于等于这个基准周的所有记录

解决方案一:用预计算基准周的方式(性能更优)

这种方法先给每个产品计算好对应的基准周,再用这个基准周去筛选数据,适合数据量较大的场景:

EVALUATE
VAR ProductMaxSalesWeeks =
    ADDCOLUMNS (
        VALUES ( 'Product'[Product] ),
        "@FirstMaxSalesWeek",
            CALCULATE (
                MIN ( 'Week'[WEEK] ), -- 取最大销量周里最早的那个
                FILTER (
                    ALL ( 'Week'[WEEK] ),
                    [Sales Qty] = CALCULATE ( MAX ( [Sales Qty] ), ALL ( 'Week'[WEEK] ) )
                )
            )
    )
VAR FilteredSalesData =
    FILTER (
        SUMMARIZECOLUMNS (
            'Product'[Product],
            'Week'[WEEK],
            "Sales", [Sales Qty]
        ),
        'Week'[WEEK] >= LOOKUPVALUE (
            ProductMaxSalesWeeks[@FirstMaxSalesWeek],
            ProductMaxSalesWeeks[Product], 'Product'[Product]
        )
    )
RETURN
    FilteredSalesData

代码解释:

  1. ProductMaxSalesWeeks:给每个产品单独计算出最早的最大销量周——先忽略当前周上下文,算出该产品所有周的最大销量,再筛选出所有达到这个销量的周,取其中最小的周数。
  2. FilteredSalesData:先获取你原来的汇总数据,再通过LOOKUPVALUE匹配当前产品的基准周,只保留周数≥基准周的记录。

解决方案二:紧凑的 inline 写法

如果你喜欢更简洁的代码,也可以直接在FILTER里完成分组计算:

EVALUATE
FILTER (
    SUMMARIZECOLUMNS (
        'Product'[Product],
        'Week'[WEEK],
        "Sales", [Sales Qty]
    ),
    'Week'[WEEK] >= CALCULATE (
        MIN ( 'Week'[WEEK] ),
        ALLEXCEPT ( 'Product', 'Product'[Product] ), -- 只保留当前产品的上下文,清除其他筛选
        [Sales Qty] = CALCULATE ( MAX ( [Sales Qty] ), ALLEXCEPT ( 'Product', 'Product'[Product] ) )
    )
)

代码解释:

在筛选每一行的时候,用ALLEXCEPT锁定当前产品的上下文,先算出该产品的最大销量,再找到所有等于这个销量的周里最早的那个,最后判断当前周是否符合≥基准周的条件。

为什么你原来的写法会报错?

你之前的代码里,[Sales]是SUMMARIZECOLUMNS生成的临时计算列,但在CALCULATE的上下文里无法直接引用这个临时列;而且你没有按产品分组去计算最大销量对应的周,导致DAX找不到正确的上下文关联,所以才会出现“无法识别包含[Sales]列的表”的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 10:38:12