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

如何在Power BI中通过DAX度量值关联两张表匹配颜色

Power BI中通过Rank关联匹配颜色的实现方案

背景说明

现有两张表及一个DAX度量值:

  • Answers表结构:
AnimalViewed
Cat17
Chicken12
Cow7
Dog28
Goat36
  • Colors表结构:
ColorSort
Red1
Yellow2
Blue3

已有的Rank度量值用于计算切片器筛选后动物浏览量的排名,代码如下:

Rank = 
CALCULATE(
    COUNTROWS(ALLSELECTED(Answers)),
    FILTER(
        ALLSELECTED(Answers),
        Answers[Viewed] >= MIN(Answers[Viewed])
    )
)

当前筛选后已得到包含Animal、Viewed、Rank的结果,需要将Rank与Colors表的Sort字段关联,匹配出对应Color列。


方法一:创建度量值动态匹配颜色

由于Rank是随切片器筛选变化的动态度量值,无法在模型中直接建立物理关系,可通过以下DAX编写度量值,根据当前行的Rank值查找对应颜色:

匹配颜色 = 
VAR 当前排名 = [Rank]
RETURN
LOOKUPVALUE(
    Colors[Color],
    Colors[Sort], 当前排名
)

将这个度量值添加到视觉对象的字段列表中,即可在筛选后自动显示对应颜色。


方法二:创建包含颜色的计算表(适合固定筛选或静态场景)

如果需要生成包含颜色的静态计算表用于后续分析,可使用以下DAX创建计算表:

带颜色的排名动物表 = 
VAR 排名表 = 
    ADDCOLUMNS(
        ALLSELECTED(Answers),
        "Rank", [Rank]
    )
RETURN
    NATURALLEFTOUTERJOIN(
        排名表,
        SELECTCOLUMNS(Colors, "Rank", Colors[Sort], "Color", Colors[Color])
    )

创建完成后,使用该计算表构建视觉对象,即可直接得到包含Color列的目标结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 20:18:28