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

Power BI多条件求和:按订单等组合取最高发货单且快照为1的值求和

Power BI 分组求和解决方案:取最大Shipment No且Last Snapshot为1的行求和

可以通过创建DAX度量值精准实现需求,以下是两种可行的写法:

方法一:简洁版(适用于每组最大Shipment No对应唯一Last Snapshot行)

创建新度量值,代码如下:

Sum_Target_Value = 
CALCULATE(
    SUM('你的表名'[value]),
    FILTER(
        '你的表名',
        '你的表名'[is last snapshot] = 1 &&
        '你的表名'[shipment no] = CALCULATE(
            MAX('你的表名'[shipment no]),
            ALLEXCEPT(
                '你的表名',
                '你的表名'[order no],
                '你的表名'[line no],
                '你的表名'[rel no]
            )
        )
    )
)

方法二:通用版(兼容复杂分组场景)

如果存在同一组最大Shipment No对应多行的情况,用这个写法更稳妥:

Sum_Target_Value = 
VAR GroupWithMaxShipment = 
    ADDCOLUMNS(
        SUMMARIZE('你的表名', '你的表名'[order no], '你的表名'[line no], '你的表名'[rel no]),
        "@MaxShipment", CALCULATE(MAX('你的表名'[shipment no]))
    )
RETURN
CALCULATE(
    SUM('你的表名'[value]),
    FILTER(
        '你的表名',
        '你的表名'[is last snapshot] = 1 &&
        EXISTS(
            GroupWithMaxShipment,
            '你的表名'[order no] = [order no] &&
            '你的表名'[line no] = [line no] &&
            '你的表名'[rel no] = [rel no] &&
            '你的表名'[shipment no] = [@MaxShipment]
        )
    )
)

使用说明

  • 将代码中的'你的表名'替换为你实际使用的表名称
  • ALLEXCEPT函数会保留「order no」「line no」「rel no」的分组上下文,计算每组的最大「shipment no」
  • 外层筛选逻辑会精准定位到同时满足「is last snapshot=1」和「shipment no为组内最大值」的行,最终对这些行的value求和

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 16:31:03