SUMX DISTINCT PowerPivot 未按预期工作

SUMX DISTINCT PowerPivot not working as expected

我从 SQL 查询中返回了这样的数据:

REF   ORDER   R_UNITS   R_STOCK   COMPONENT
-------------------------------------------
TOY1   SP1      500       350      BLISTER
TOY1   SP2      400       350      BLISTER    
TOY1   SP3      100       350      BLISTER    
TOY2   SP1      200       200      BLISTER   
TOY2   SP4      300       200      BLISTER    
TOY3   SP1      600       300      BLISTER     
TOY3   SP1      400       300        BOX

我想像这样将其旋转成 Excel 旋转 Table:

FILTER ORDER: ALL

COMPONENT   R_UNITS   Σ R_STOCK
BLISTER      2100        850  
BOX          400         300    

R_STOCK 应该迭代数据并根据唯一的 REF 值总结结果。

我试过这个 DAX 公式:

Σ R_STOCK:=SUMX(DISTINCT(Table6[REF]),AVERAGE(Table6[REF STOCK]))

但是,它不是对 BLISTER 的每个唯一值 (300+350+200=850) 进行汇总,而是对所有行的总和进行平均,然后将结果乘以唯一值的数量:(350 +350+350+200+200+300)/6*3=875

如何修正我的 DAX 公式?

非常感谢

我认为我们需要使用 SUMMARIZE 来获取不同的 REF 和 REF STOCK 对,然后添加 REF STOCK。我还会添加一个过滤器修饰符以删除除 COMPONENT

上的过滤器之外的任何可能的过滤器
R_STOCK :=
CALCULATE(
    SUMX( SUMMARIZE( Table6, Table6[REF], Table6[REF STOCK] ), Table6[REF STOCK] ),
    ALLEXCEPT( Table6, Table6[COMPONENT] )
)

你可以试试这个

Σ R_STOCK :=
VAR __WithAverages =
    ADDCOLUMNS (
        DISTINCT ( Table6[REF] ),
        "@AverageStock", CALCULATE ( AVERAGE ( 'Table6'[R_STOCK] ) )
    )
RETURN
    SUMX ( __WithAverages, [@AverageStock] )