Power BI Report Builder(DAX环境)多选父参数时子参数为空如何解决
Power BI Report Builder 多值级联参数无数据问题修复方案
场景说明
你配置的两级级联参数:父参数为Division(分部,支持多选),子参数为Unit(单元),单选Division时Unit可正常加载关联列表:

多选Division时Unit参数无数据返回:
问题根因
- Power BI Report Builder中,多选参数传递给DAX数据集时,参数值为逗号拼接的文本字符串,而非DAX可直接识别的列表类型
- 原有代码中
'ActionPlan'[Division] IN {@Division}的判断逻辑,仅在参数为单个值时可以正常匹配,多选时会将整个逗号拼接串当做单个值做匹配,无法命中任何数据,因此Unit参数返回空
修复代码
将Unit参数对应数据集的DAX代码替换为如下版本即可适配单选、多选两种场景:
Evaluate DISTINCT(SELECTCOLUMNS( FILTER('ActionPlan', PATHCONTAINS(SUBSTITUTE(@Division, ",", "|"), 'ActionPlan'[Division]) && LEFT('ActionPlan'[Unit],2) <> "**"), "Unit",'ActionPlan'[Unit] ) )
逻辑说明
SUBSTITUTE(@Division, ",", "|"):把多值参数默认的逗号分隔符替换为DAX PATH函数要求的竖线分隔符,生成符合PATH格式的字符串PATHCONTAINS:判断当前行的Division值是否存在于传入的多值参数列表中,完美兼容单/多选场景
内容的提问来源于stack exchange,提问作者Zavieh
相关产品推荐
相关产品推荐

