如何将筛选器选中值传递至DAX度量值,按分组切换对应计算逻辑
解决DAX度量值根据切片器选中值动态计算的方案
你只需要用SELECTEDVALUE函数获取切片器绑定的分组表选中值,再通过分支判断匹配对应计算规则即可。
假设你存储切片器可选值的表名为分组表(如果实际表名不同请自行替换),修改后的完整度量值代码如下:
Weight Total Acceptance = // 获取切片器选中的分组值 VAR SelectedGroup = SELECTEDVALUE('分组表'[Group Name], "DG") // 未选中时默认走DG逻辑 VAR CurrentRate = 'Sprints'[Measure Current Accepted Point %] VAR lk = SWITCH( SelectedGroup, // DG分组的计算逻辑 "DG", IF( CurrentRate > 0.85, 5, IF(CurrentRate > 0.7 && CurrentRate < 0.85, 3, 1) ), // KL分组的计算逻辑 "KL", IF( CurrentRate > 0.70, 8, IF(CurrentRate > 0.5 && CurrentRate < 0.70, 3, 1) ) ) VAR WeightCoeff = IF(SelectedGroup = "DG", 0.5, 0.3) RETURN lk * WeightCoeff
注意事项
- 原代码中你给返回的数字加了双引号,属于文本类型,我已经去掉引号改为直接返回数值,避免后续运算出现类型转换错误
- 代码中
SELECTEDVALUE的第二个参数"DG"是切片器未选中任何值时的默认逻辑,你可以根据实际需求修改为返回BLANK()或者其他默认值 - 直接将你新建的分组表的
Group Name字段绑定到页面切片器,选中不同分组时度量值就会自动切换计算规则
内容的提问来源于stack exchange,提问作者Jhon
相关产品推荐
相关产品推荐

