You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于关联列在Power BI中仅显示符合条件的Hazard列值

解决Power BI中仅显示对应Level为Medium/High的Hazard数值问题

方法1:通过DAX计算列生成处理后的值

直接为每个Hazard列创建对应的计算列,仅在对应Level为Medium或High时保留原数值,否则返回空值:

以处理「Hazard 1」为例,在数据模型中新建计算列,输入以下DAX公式(替换表名为你的实际表名):

显示Hazard 1 = 
IF(
    '数据表'[Level 1] IN {"Medium", "High"},
    '数据表'[Hazard 1],
    BLANK()
)

按同样逻辑,复制公式并替换对应的Hazard和Level列名(比如显示Hazard 2对应Level 2),生成所有处理后的列。之后直接用这些新列做可视化,空值会自动不显示。

方法2:可视化组件内设置条件隐藏(无需修改数据模型)

如果不想新增列,可直接在可视化层通过条件格式隐藏不符合条件的值:

  • 添加表格/矩阵组件,导入所有Hazard和Level列
  • 选中某一Hazard列(如Hazard 1),打开「条件格式」→「字体颜色」
  • 选择「规则」类型,设置规则:当[Level 1]不属于{"Medium", "High"}时,将字体颜色设为与表格背景色一致(比如白色),视觉上就会隐藏不符合条件的值
  • 为每个Hazard列重复上述操作,绑定对应的Level列规则

批量处理方案(适合多列场景)

如果Hazard和Level列数量较多,可通过Power Query逆透视来简化操作:

  1. 进入Power Query编辑器,选中所有Hazard和Level列,点击「转换」→「逆透视列」→「逆透视列对」
  2. 生成Attribute(如"Hazard 1"、"Level 1")和Value列后,添加自定义列提取数字后缀(比如用Text.AfterDelimiter([Attribute], " ")提取1、2、3)
  3. 筛选Attribute包含"Level"的行,保留Value为Medium/High的记录,再通过数字后缀关联对应的Hazard值,最后按需透视回原结构或直接用于可视化

内容的提问来源于stack exchange,提问作者user111103

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 03:14:58