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] )
我从 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] )