dax - DAX Measure PowerPivot:根据子组值排除组
问题描述
我正在尝试根据生产组汇总变量(例如平均“材料克数”)创建一个度量(参见下面的数据示例)。
生产组包含产品,由产品 ID 字段标识。当该产品完成生产时,将其标记为“完成”并输入“材料克数”。
我可以使用GROUPBY
and SUMX
、AVERAGEX
和函数按组汇总并排除某些行CALCULATE
。FILTER
但是,我不想总结任何包含不完整产品的生产组。
例如,在下面的示例数据中,我不希望看到有关生产组 B 的任何报告,因为该组中的某些产品是“不完整的”。
请让我知道您将如何做到这一点。
下面是一些示例代码,按我想要的组进行汇总,但不排除产品不完整的组。
averagex(
GROUPBY(Table,[Production Group],"Production Group Yield",
SUMX(CURRENTGROUP(),[Grams Material])),[Production Group Yield])
最好的,
机器学习
解决方案
我会以非常不同的方式处理这个问题。
VAR Groups = VALUES ( 'Table'[Production Group] ) // all groups in context
VAR GroupsWithIncomplete =
CALCULATETABLE (
VALUES ( 'Table'[Production Group] ),
'Table'[Processing Complete?] = "Incomplete"
)
VAR GroupsWithoutIncomplete =
EXCEPT ( Groups, GroupWithIncomplete ) // just a set difference
RETURN
CALCULATE (
SUM ( 'Table'[Value] ),
GroupsWithoutIncomplete
)
/ COUNTROWS ( GroupsWithoutIncomplete )
我们可以很容易地在上下文中获得一组所有组,使用VALUES
. 然后我们在上下文中找到所有具有不完整的组。设定的差异使我们只有上下文中的组,而没有不完整的。我们可以使用该集合作为过滤器,CALCULATE
此处平均值的分母就是集合中的组数GroupsWithoutIncomplete
。
推荐阅读
- xsl-fo - 我的块 xsl fo 太大,因此阻止了 pdf 的生成
- encryption - 带有 mysql 和 Python 的 AES CBC
- gcc - 读取 flex 扫描仪失败,使用 gcc 编译
- c# - 将 ComboBox 绑定到 Enum 抛出异常
- python - 支持向量回归 (SVR) 在 Ubuntu 18.04 LTS 中不绘制图形
- c++ - 程序吃掉一行的第一个字母
- ionic-framework - 如何更改状态栏颜色 ionic 3 app
- asp.net - 如何制作具有多个系列的折线图,其中一个系列具有空值
- html - 来自静态服务器 NGINX 的音频 mp3 流
- mysql - 带有 case 语句的 COUNT 无法正常工作