powerbi - dax 聚合总和和计数,仅忽略过滤器上下文的某些部分
问题描述
我这里有这张桌子:
例如,我想制作一个表格,显示公司中有多少人的总分大于 8。所以我使用了这个公式:
ScoreOver8 =
COUNTROWS (
FILTER (
ADDCOLUMNS (
SUMMARIZE ( activity, activity[person] ),
"engagement", CALCULATE ( SUM ( activity[score] ) )
),
[score] > 8
)
)
这是结果:
现在我想添加另一个级别,所以我可以这样做:
并显示总分大于 8 的人参加了哪些类型,即使他们没有在该类型中获得所有分数。这不是发生的事情。会发生什么:
因为虽然在总体公司级别上,每个公司都有一个人获得超过 8 分,但他们不一定在任何一项任务中获得这 8 分。
所以我的问题是如何制定指标,以便它只关心公司级别的过滤器上下文,而不关心类型级别的过滤器上下文,这样我就可以做我想做的事了。
我正在使用 excel 2016。我知道 power bi 中有很多花哨的新方程。唉。这就是为什么我仍然在 addcolumns 总结语法的原因。我想知道我是否可以做类似的事情:
CALCULATE ( SUM ( activity[score] ), FILTER ( ALL ( [tasks] ), ... ) )
太糟糕了,我只是在写完整个问题后才想到尝试这个。我会离开它。也许别人有它。
解决方案
您应该能够使用 ALL(或等效的 REMOVEFITLES)删除类型过滤器。
ScoreOver8 =
COUNTROWS (
FILTER (
ADDCOLUMNS (
SUMMARIZE ( activity, activity[person] ),
"engagement", CALCULATE ( SUM ( activity[score] ), ALL ( activity[type] ) )
),
[score] > 8
)
)
推荐阅读
- machine-learning - 如何使用 NaiveBayes 预测数据集
- javascript - 推送到 JSON 文件
- android - 程序类型已存在:com.google.thirdparty.publicsuffix
- angular - Angular 指令:在这种情况下我应该使用结构还是属性?
- azure-stream-analytics - 流分析:事件处理延迟、性能问题
- cassandra - Cassandra:如何使用数学运算符查询主键,例如>,<这是文本类型?
- r - How do we arrange two sets of data according to a specific criteria, eg date, in R
- apache-spark - 当节点数发生变化时,Spark 会给出不同的结果
- javascript - 将 Spring 模型属性传递给 JS 脚本
- angular - 如何以角度映射嵌套接口