Power BI:多选切片器未选任何选项时返回全部值的DAX问题
解决多选切片器对应的DAX度量值问题
你需要的度量值要实现:多选切片器选中值时返回选中的CELLTYPE列表,未选中任何值时返回全部CELLTYPE值。以下是修正后的DAX代码:
Remove_Cells_Parameter Value = VAR SelectedItems = VALUES(Remove_Cells_Parameter[CELLTYPE]) VAR TotalItems = COUNTROWS(ALL(Remove_Cells_Parameter[CELLTYPE])) VAR SelectedCount = COUNTROWS(SelectedItems) RETURN IF( SelectedCount = TotalItems, // 未选择或全选时返回全部值 CONCATENATEX(ALL(Remove_Cells_Parameter[CELLTYPE]), Remove_Cells_Parameter[CELLTYPE], ", "), CONCATENATEX(SelectedItems, Remove_Cells_Parameter[CELLTYPE], ", ") )
关键逻辑说明
SelectedItems:直接获取切片器当前选中的CELLTYPE集合,无需多余过滤TotalItems:计算CELLTYPE列的总条目数(不受筛选影响)- 通过对比
SelectedCount和TotalItems,判断是否处于“未选择任何值”或“全选”状态:- 相等时,用
CONCATENATEX拼接所有CELLTYPE值 - 不等时,拼接选中的CELLTYPE值
- 相等时,用
原代码问题分析
- 原FILTER语句中的条件
Remove_Cells_Parameter[CELLTYPE] IN VALUES(...)完全冗余,因为VALUES返回的就是当前筛选的CELLTYPE集合,过滤后结果和原集合一致 - 空值判断逻辑错误:当未选择任何值时,
VALUES(Remove_Cells_Parameter[CELLTYPE])会返回该列的全部值,因此Selected_celltype会是全部值的拼接而非空字符串,导致原IF语句错误返回空
内容的提问来源于stack exchange,提问作者Mi2Trung
相关产品推荐
相关产品推荐

