Power BI 如果有值,则选择列 A,否则选择列 B

问题描述 投票:0回答:1

我有一个 Excel 工作表,如下所示:

Col1   Col2   Col3   Col4
A      Val1   Val2   Val3
B      Val4   Val5   Val6

还有另一个

lang
de
en
es

Col2、Col3 和 Col4 取决于语言。 我希望在 Power BI 中拥有的是,如果我为

lang
选择一个值,则应在仪表板中显示特定列。

所以类似

lang = de -> Col1 and Col2 
lang = en -> Col1 and Col3 
lang = es -> Col1 and Col4 

我怎样才能实现这个目标?

excel powerbi dax powerbi-desktop
1个回答
0
投票

我坚信 DAX 是一种专用于分析的语言,但这里有一个针对您的请求的解决方法:

您需要创建一个措施:

SelectedValue = 
VAR SelectedLang = SELECTEDVALUE(LanguageTable[lang])
RETURN
SWITCH(
    SelectedLang,
    "de", SELECTEDVALUE(DataTable[Col2]),
    "en", SELECTEDVALUE(DataTable[Col3]),
    "es", SELECTEDVALUE(DataTable[Col4]),
    BLANK()
)

在此检查所选语言,然后使用 SELECTEDVALUE 和 SWITCH 从相应列返回值,以根据所选语言返回相应的列值。

为了显示列的名称,我创建了另一个度量,然后放入一张卡片并尝试将其调整到表格中:

SelectedColumnName = 
VAR SelectedLang = SELECTEDVALUE(LanguageTable[lang], "default")
RETURN
SWITCH(
    SelectedLang,
    "de", "Col2",
    "en", "Col3",
    "es", "Col4",
    "default"
)

© www.soinside.com 2019 - 2024. All rights reserved.