Power BI:如何通过Table_1切片器显示Table_2的对应资费名称?
问题解决方法
原DAX公式的核心错误
你写的公式里犯了一个变量名笔误:定义的变量是SelectedID,但IF判断里用了不存在的SelectedAlternativeID,导致条件判断始终不成立,直接返回空字符串。
修正后的DAX公式
方法1:修正变量名并保留原逻辑
Selected Table_2 Alternative = VAR SelectedID = SELECTEDVALUE(Table_1[ID]) RETURN IF( NOT ISBLANK(SelectedID), CALCULATE( SELECTEDVALUE(Table_2[Tariff_name]), Table_2[ID] = SelectedID ), "" )
方法2:用LOOKUPVALUE简化逻辑(更直观)
因为你的数据里每个ID在Table_2中对应唯一的Tariff_name,直接用LOOKUPVALUE更简洁:
Selected Table_2 Alternative = VAR SelectedID = SELECTEDVALUE(Table_1[ID]) RETURN IF( NOT ISBLANK(SelectedID), LOOKUPVALUE(Table_2[Tariff_name], Table_2[ID], SelectedID), "" )
额外说明
如果你的Table_2中同一个ID对应多个Tariff_name,SELECTEDVALUE只会返回单个值(若多选则返回空白),这时可以改用CONCATENATEX把所有对应资费拼接起来:
Selected Table_2 Alternative = VAR SelectedID = SELECTEDVALUE(Table_1[ID]) RETURN IF( NOT ISBLANK(SelectedID), CONCATENATEX( FILTER(Table_2, Table_2[ID] = SelectedID), Table_2[Tariff_name], ", " ), "" )
内容的提问来源于stack exchange,提问作者Feda_khf
相关产品推荐
相关产品推荐

