PowerBI中按项目统计已完成Epic及总Epic数量的实现问题
解决方案
1. 先创建「Epic总数量」度量值
这个度量值用来统计每个项目下的独立Epic总数:
Epic总数量 = DISTINCTCOUNT('你的数据表名'[Epic])
2. 创建「已完成Epic数量」度量值
核心是先筛选出所有关联US都完成的Epic,再统计这些Epic的数量。这里提供两种写法:
写法一(通过对比US总数和已完成US数)
已完成Epic数量 = CALCULATE( DISTINCTCOUNT('你的数据表名'[Epic]), FILTER( VALUES('你的数据表名'[Epic]), -- 判断当前Epic下的US总数等于已完成的US数 CALCULATE(COUNT('你的数据表名'[US])) = CALCULATE(COUNT('你的数据表名'[US]), '你的数据表名'[US done] = 1) ) )
写法二(更简洁:利用MIN函数判断所有US是否完成)
因为如果某个Epic下所有US都完成,那么US done的最小值就是1;只要有一个未完成,最小值就是0:
已完成Epic数量 = CALCULATE( DISTINCTCOUNT('你的数据表名'[Epic]), FILTER( VALUES('你的数据表名'[Epic]), CALCULATE(MIN('你的数据表名'[US done])) = 1 ) )
为什么原有DAX不生效?
你之前的total_us和total_done_us是在当前上下文(比如项目级)统计US总数,没有按Epic单独分组判断。所以当放在项目维度下时,计算的是整个项目的US总数和完成数,而非每个Epic的,自然无法正确识别哪些Epic是完全完成的。
使用方法
把Project字段、「Epic总数量」和「已完成Epic数量」这两个度量值拖入表格可视化组件,就能得到目标统计结果。
内容的提问来源于stack exchange,提问作者Avados
相关产品推荐
相关产品推荐

