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

Power BI中如何使用DAX获取同一分组下上一行的对应字段值

DAX 实现同分组取上月qty的计算列方案

直接使用CALCULATE搭配筛选逻辑即可实现,无需额外创建索引列,具体计算列代码如下:

prev_qty = 
VAR current_family = '你的表名'[family]
VAR current_month = '你的表名'[month]
-- 取同分组下小于当前月份的最大月份
VAR last_valid_month = 
    CALCULATE(
        MAX('你的表名'[month]),
        ALLEXCEPT('你的表名', '你的表名'[family]),
        '你的表名'[month] < current_month
    )
RETURN
-- 分组首行没有上月数据时返回当前行qty,否则返回上月qty
    IF(
        ISBLANK(last_valid_month),
        '你的表名'[qty],
        CALCULATE(
            SUM('你的表名'[qty]),
            ALLEXCEPT('你的表名', '你的表名'[family]),
            '你的表名'[month] = last_valid_month
        )
    )

注意事项

  • 替换代码中所有你的表名为Power BI模型中对应的实际表名即可使用
  • 若月份字段为数值格式(如202307、7等),逻辑完全通用无需调整
  • 若同family同月份存在多条数据,可将SUM函数替换为MAX、AVERAGE等符合业务需求的聚合函数

验证结果

代入你提供的样例数据,运行后输出的prev_qty结果与你给出的预期值完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:15:03