Power BI中DAX公式实现:判断非关联表值是否在选中基金CONCAT列中
DAX公式实现CPTY归属判断(基于切片器筛选基金)
核心公式(单基金选中场景)
CPTY是否归属 = VAR SelectedFundConcat = CALCULATE(VALUES('基金表'[CONCAT]), ALLSELECTED('基金表')) RETURN IF(CONTAINSSTRING(SelectedFundConcat, '目标表'[CPTY]), "是", "否")
公式说明
SelectedFundConcat变量:通过CALCULATE结合VALUES提取切片器选中基金对应的CONCAT列值。ALLSELECTED确保仅保留切片器的筛选上下文,忽略其他无关筛选,精准获取用户选中基金的CPTY集合字符串。CONTAINSSTRING函数:检查目标表当前行的CPTY值是否包含在选中基金的CONCAT字符串中,返回布尔判断结果。IF逻辑:根据检查结果返回"是"或"否",可按需替换为1/0或其他自定义标识值。
多基金选中场景适配公式
若切片器允许同时选中多个基金,需先合并所有选中基金的CONCAT内容再判断:
CPTY是否归属 = VAR SelectedFundsConcat = CALCULATE(CONCATENATEX('基金表', '基金表'[CONCAT], ","), ALLSELECTED('基金表')) RETURN IF(CONTAINSSTRING(SelectedFundsConcat, '目标表'[CPTY]), "是", "否")
关键注意事项
- 确保
基金表与目标表之间无自动传递筛选的关系,若存在关联,ALLSELECTED仍能正确保留切片器的筛选上下文。 CONCAT列中的CPTY值建议使用统一分隔符(如逗号、分号),避免因字符串匹配歧义导致判断错误。
内容的提问来源于stack exchange,提问作者Ignacio Maillo
相关产品推荐
相关产品推荐

