Power BI中基于筛选条件计算卡片展示百分比的方法问询
解决方案:Power BI中展示筛选数据占总数的百分比卡片
方法:创建自定义DAX度量值
Quick Measure无法满足需求的核心原因是它会默认继承当前视觉对象的筛选上下文,而我们需要强制保留不受筛选影响的总唯一Email数。直接编写DAX度量值即可解决:
- 创建总唯一Email数度量值(强制忽略所有筛选,确保数值始终为700):
总唯一Email数 = CALCULATE(DISTINCTCOUNT('你的数据表名'[Email]), ALL('你的数据表名'))
- 创建筛选后唯一Email数度量值(匹配Required="Yes"、Certification="A"的条件):
筛选后Email数 = CALCULATE(DISTINCTCOUNT('你的数据表名'[Email]), '你的数据表名'[Required] = "Yes", '你的数据表名'[Certification] = "A" )
- 创建占比度量值(用
DIVIDE避免除零错误):
符合条件占比 = DIVIDE([筛选后Email数], [总唯一Email数], 0) * 100
后续设置
- 将
符合条件占比拖入新的卡片视觉对象 - 在字段面板选中该度量值,右侧「格式」选项卡中设置数字格式为「百分比」(或保留数值格式,手动添加%符号)
简化写法(合并为单个度量值)
如果不需要单独查看总数量和筛选数量,可以直接写一个复合度量值:
符合条件占比 = DIVIDE( CALCULATE(DISTINCTCOUNT('你的数据表名'[Email]), '你的数据表名'[Required] = "Yes", '你的数据表名'[Certification] = "A"), CALCULATE(DISTINCTCOUNT('你的数据表名'[Email]), ALL('你的数据表名')), 0 ) * 100
注意:将上述代码中的你的数据表名替换为你实际使用的数据表名称。
内容的提问来源于stack exchange,提问作者mkumars
相关产品推荐
相关产品推荐

