Power BI中用DAX实现按状态/层级筛选的去重Y值求和方案
DAX实现指定类别唯一Y值求和(支持切片器动态筛选)
核心逻辑
先基于切片器选中的state和tier筛选数据,再从中挑出类别为A-UP、A-UPUP、B-UP的记录,提取这些记录里的唯一Y值,最后对这些唯一值求和。
DAX度量值代码
唯一Y值求和 = VAR TargetCategories = {"A-UP", "A-UPUP", "B-UP"} VAR FilteredData = FILTER( ALLSELECTED('你的表名'), '你的表名'[类别] IN TargetCategories ) VAR UniqueYValues = DISTINCT(SELECTCOLUMNS(FilteredData, "Y值", '你的表名'[Y])) RETURN SUMX(UniqueYValues, [Y值])
代码说明
TargetCategories:直接定义需要计算的目标类别集合,后续要调整类别只需修改这个数组即可FilteredData:ALLSELECTED会保留state和tier切片器的筛选结果,再叠加类别筛选,确保只处理符合条件的数据集UniqueYValues:通过DISTINCT和SELECTCOLUMNS提取筛选后数据里的唯一Y值,避免重复计算同一个Y值SUMX:遍历唯一Y值集合完成求和,保证计算逻辑的准确性
注意事项
- 请将代码中的
'你的表名'替换为实际使用的表名称 - 如果Y字段是文本格式,需要先转换为数值类型,比如把
'你的表名'[Y]改成VALUE('你的表名'[Y]) - 该度量值会自动响应state和tier切片器的选择变化,无需额外配置
内容的提问来源于stack exchange,提问作者Keerttik Kumar
相关产品推荐
相关产品推荐

