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

PowerBI中使用SELECTEDVALUE创建动态列遇全NO问题求助

问题原因

你用计算列实现这个逻辑的核心问题是:计算列是在数据加载阶段就完成计算的,完全不受视觉对象(比如切片器)的筛选上下文影响。SELECTEDVALUE(Table[Supplier])在计算列的行上下文中无法获取切片器选中的值,始终返回空,所以所有行都会判定为"NO"。

解决方案

1. 表视觉动态显示YES/NO:改用度量值

把原来的计算列逻辑改成度量值,度量值会实时响应筛选上下文的变化:

SELECTED = 
IF (
    SELECTEDVALUE(Table[Supplier]) = MAX(Table[Supplier]),
    "YES",
    "NO"
)
  • MAX(Table[Supplier])用于获取表视觉当前行的供应商值(因为每行对应单个供应商,MAX能精准拿到行上下文的值)
  • 将这个度量值拖入表视觉的字段列表,切换切片器时就能动态显示每行的YES/NO状态。

2. 地图视觉实现选中/其他供应商金额占比对比

直接创建两个度量值来满足地图的图例和占比需求:

分组标识(用于图例)

供应商分组 = 
VAR 选中供应商 = SELECTEDVALUE(Table[Supplier])
RETURN
IF (
    MAX(Table[Supplier]) = 选中供应商,
    "选中供应商",
    "其他供应商"
)

金额占比

金额占比 = 
VAR 总金额 = CALCULATE(SUM(Table[金额]), ALL(Table))
RETURN
DIVIDE(SUM(Table[金额]), 总金额, 0)
  • 将供应商分组拖到地图的「图例」字段,金额占比拖到「值」字段,即可直观对比选中供应商与其他供应商的金额占比。

扩展:支持多供应商选择

如果你的切片器允许选中多个供应商,把逻辑改成如下即可:

SELECTED = 
IF (
    CONTAINS(VALUES(Table[Supplier]), Table[Supplier], MAX(Table[Supplier])),
    "YES",
    "NO"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:55:09