Power BI DAX度量:统计Billable值不一致的工单数量
DAX度量:统计同时包含可计费与不可计费工时的工单数量
需求说明
统计关联工时表中**同时存在Billable标记为Y(可计费)和N(不可计费)**的工单总数,示例中仅工单3符合条件,结果应为1。
解决方案1:基于集合交集的写法
工单_同时有可计费与不可计费 = VAR 含可计费工时的工单 = CALCULATETABLE( DISTINCT('工时'[工单ID]), '工时'[Billable] = "Y" ) VAR 含不可计费工时的工单 = CALCULATETABLE( DISTINCT('工时'[工单ID]), '工时'[Billable] = "N" ) VAR 同时满足条件的工单 = INTERSECT(含可计费工时的工单, 含不可计费工时的工单) RETURN COUNTROWS(同时满足条件的工单)
逻辑解释
- 用
CALCULATETABLE结合DISTINCT分别提取所有存在可计费、不可计费工时的工单ID集合 - 通过
INTERSECT取两个集合的交集,得到同时包含两种工时类型的工单 - 最后用
COUNTROWS统计交集内的工单数量
解决方案2:基于工单遍历的简化写法
工单_同时有可计费与不可计费_简化版 = COUNTROWS( FILTER( DISTINCT('工单'[工单ID]), // 检查当前工单是否存在可计费工时 CALCULATE(COUNTROWS('工时'), '工时'[Billable] = "Y") > 0 // 且存在不可计费工时 && CALCULATE(COUNTROWS('工时'), '工时'[Billable] = "N") > 0 ) )
逻辑解释
遍历每个工单ID,逐一验证该工单下是否同时存在Billable为Y和N的工时条目,满足条件的工单将被计入统计。
两种写法均不受工时类型(如TRAVEL、LABOUR等)数量影响,只需关注Billable标记即可。
内容的提问来源于stack exchange,提问作者sambr
相关产品推荐
相关产品推荐

