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

PowerBI动态计算WERKS&MATNR维度日期过滤下的平均值度量

实现PowerBI动态计算WERKS&MATNR组合平均值的方法

你当前使用的度量是静态计算全表中WERKS和MATNR维度的平均值,代码如下:

CALCULATE(
    AVERAGEX(
        SUMMARIZE( LieferscheineUnique, LieferscheineUnique[WERKS], LieferscheineUnique[MATNR] ),
        CALCULATE( AVERAGE(LieferscheineUnique[fci_zu_PA] ) )
    ),
    ALLEXCEPT(  LieferscheineUnique, LieferscheineUnique[WERKS], LieferscheineUnique[MATNR] )
)

现在需要实现动态计算需求:根据页面上的日期过滤条件(比如切片器、筛选器),计算每个WERKS+MATNR组合的平均值,并将该值显示在对应组合的每一行中,预期输出表格如下:

DATUMWERKSIDMATNRfci_zu_PAAverage_fci_per_Werks&MATNR
08.04.2021H00611000941,742,83
12.04.2021H00621000943,342,83
14.04.2021H00631000943,542,83
08.04.2021H10041000943,743,50
22.04.2021H10051000943,343,50
22.04.2021H10061001024,524,50

解决方案

情况1:日期筛选直接基于事实表的DATUM列

使用以下DAX度量即可实现需求:

Average_fci_per_Werks&MATNR = 
CALCULATE(
    AVERAGE(LieferscheineUnique[fci_zu_PA]),
    ALLEXCEPT(
        LieferscheineUnique,
        LieferscheineUnique[WERKS],
        LieferscheineUnique[MATNR],
        LieferscheineUnique[DATUM]
    )
)

情况2:日期筛选基于单独的日期维度表(推荐模型设计)

如果你的数据模型中使用了独立的日期维度表(比如命名为DateTable),建议使用以下写法,避免事实表日期列的重复值影响筛选逻辑:

Average_fci_per_Werks&MATNR = 
CALCULATE(
    AVERAGE(LieferscheineUnique[fci_zu_PA]),
    ALLEXCEPT(
        LieferscheineUnique,
        LieferscheineUnique[WERKS],
        LieferscheineUnique[MATNR]
    ),
    ALLSELECTED('DateTable'[DATUM])
)

逻辑说明

  • 两种写法核心都是通过CALCULATE修改筛选上下文:
    • ALLEXCEPT保留当前行的WERKS和MATNR维度,确保只计算当前组合的平均值;
    • 同时保留外部的日期筛选条件(切片器、页面筛选等),实现动态响应日期过滤;
    • 最终直接用AVERAGE计算该组合在筛选日期范围内的fci_zu_PA平均值,无需嵌套AVERAGEX和SUMMARIZE,简化了代码逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:30:47