Power BI中DAX实现仅统计所有任务进度为100的区域去重计数
DAX解决方案:统计所有任务进度均为100的区域数量
你的原有公式问题在于,它只是统计了至少有一个任务进度为100的区域,而非所有任务进度都为100的区域,所以会把Area 2、4也纳入统计,导致结果为4。
以下是两种符合需求的DAX度量值写法:
方法一:通过最小/最大进度判断
TotalArea = VAR ValidAreas = FILTER( VALUES('Table'[Area]), // 区域内所有任务进度的最小值和最大值都是100,说明全部任务完成 CALCULATE(MIN('Table'[Progress])) = 100 && CALCULATE(MAX('Table'[Progress])) = 100 ) RETURN DISTINCTCOUNT(ValidAreas[Area])
方法二:检查是否存在未完成任务
TotalArea = COUNTROWS( FILTER( VALUES('Table'[Area]), // 区域内不存在进度不等于100的任务 CALCULATE(COUNTROWS(FILTER('Table', 'Table'[Progress] <> 100))) = 0 ) )
两种方法都能得到预期结果2(Area 1和Area 3),你可以根据习惯选择使用。
内容的提问来源于stack exchange,提问作者Sanuzy
相关产品推荐
相关产品推荐

