Power BI中不通过分组实现多值匹配映射,留存审批记录
Power BI 案例状态映射解决方案
需求说明
- 案例状态分为已批准(approved)和已拒绝(denied)
- 同一案例号、同一天同时存在已批准和已拒绝状态时,需将对应已拒绝记录映射为部分拒绝(partially denied)
- 禁止使用分组操作,避免丢失已批准记录导致计数失真(同一案例号+日期的不同状态为独立行)
实现方案(DAX计算列)
在案例数据表中新建计算列,使用以下DAX公式:
映射后状态 = VAR 当前案例号 = '案例表'[案例号] VAR 当前日期 = '案例表'[日期] VAR 同案例当日有批准 = CALCULATE( COUNTROWS('案例表'), FILTER( '案例表', '案例表'[案例号] = 当前案例号 && '案例表'[日期] = 当前日期 && '案例表'[状态] = "approved" ) ) > 0 RETURN IF( '案例表'[状态] = "denied" && 同案例当日有批准, "partially denied", '案例表'[状态] )
逻辑解析
- 通过变量捕获当前行的案例号和日期
- 利用
CALCULATE和FILTER统计同一案例号、同一天内是否存在已批准状态的记录 - 条件判断:若当前行是已拒绝状态且同案例当日存在已批准记录,则返回“partially denied”,否则保留原状态
该方案不会合并行,每条记录独立保留,既完成状态映射需求,又能保证已批准记录不丢失,计数结果准确。
内容的提问来源于stack exchange,提问作者Avneesh Aggarwal
相关产品推荐
相关产品推荐

