Power BI 用维度表做条件格式判定 单度量值替代多度量值
Power BI 单度量值支撑AHT达标条件格式实现方案
数据模型结构
当前数据模型包含3张表,表间关联关系为:fact_Phone (* < 1) Dim_Users (* <> 1) Dim_user_ID
- fact_Phone表存储用户名字段,与Dim_Users为多对一、单方向关联关系
- Dim_Users表存储用户名、用户正式姓名字段(不含用户ID),与Dim_user_ID为多对一、双方向关联关系
- Dim_user_ID表存储用户正式姓名、用户ID、所属国家字段
问题描述
已实现呼叫平均处理时长(AHT)达标状态判定,但初始方案需拆分两个独立度量值分别计算不同国家的AHT,导致矩阵视觉对象生成两列冗余内容,不符合单列表述需求。需求为在保留Dim_user_ID表国家维度判定逻辑的前提下,合并逻辑为单个度量值支撑条件格式,无需展示多列。
当前矩阵以Dim_user_ID[country]为一级行、Dim_user_ID[name]为二级行展示平均处理时长,初始编写的分国家AHT度量值如下:
AHT (Phone NO) = DIVIDE( SUMX( FILTER( fact_Phone, RELATED(dim_user_ID[country])="NO" ), fact_Phone[Total AHT] ), SUMX( FILTER( fact_Phone, RELATED(dim_user_ID[country])="NO" ), fact_Phone[Total calls answered] ) ) AHT (Phone SE) = DIVIDE( SUMX( FILTER( fact_Phone, RELATED(dim_user_ID[country])="SE" ), fact_Phone[Total AHT] ), SUMX( FILTER( fact_Phone, RELATED(dim_user_ID[country])="SE" ), fact_Phone[Total calls answered] ) )
基于上述度量值,初始编写的条件格式判定度量值如下:
Check AHT on target = IF( '1 Measures'[AHT (Phone NO)] > 240 || '1 Measures'[AHT (Phone SE)] > 260, 0, 1 )
实现方案
保留上述两个分国家AHT度量值,优化条件格式判定度量值,新增空值判断逻辑,修改后代码如下:
Check AHT on target = IF( NOT(ISBLANK('1 Measures'[AHT (Phone NO)])) || NOT(ISBLANK('1 Measures'[AHT (Phone SE)])), IF( '1 Measures'[AHT (Phone NO)] > 240 || '1 Measures'[AHT (Phone SE)] > 260, 0, 1 ))
将优化后的度量值设为条件格式的基准字段,应用到通用AHT度量值即可实现单列展示,通用AHT度量值代码如下:
AHT (Phone) = DIVIDE(SUM(fact_Phone[Total AHT]),SUM(fact_Phone[Total calls answered]))
内容的提问来源于stack exchange,提问作者Streching my competence
相关产品推荐
相关产品推荐

