dax - SUMX DISTINCT PowerPivot 未按预期工作
问题描述
我有这样的数据从 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 数据透视表中:
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] )
)
推荐阅读
- c - 为什么全局指针从函数返回后会改变它的值?
- react-native - 访问标题组件内的反应堆栈导航
- .net-core - JilOutputFormatter:不允许同步操作。调用 WriteAsync 或将 AllowSynchronousIO 设置为 true
- mysql - 如何在 Mysql 中合并两个选择查询
- apache-kafka - 数据是否跨分区拆分?
- python - python - 如何使用python从csv文件中删除缺少任何列的值的行
- arrays - 快速排序最坏情况的空运行
- javascript - 如何显示不同颜色的数组
- php - laravel5.8 Queue::exceptionOccurred 获取异常
- javascript - getcomputedstyle 仅更改默认值