Power BI Desktop(2022年5月)中可见条目DIST列正确求和求助
Power BI DAX度量值计算:正确统计显示条目的dist总和与count平均值
问题背景
- 环境:Power BI Desktop 2022年5月版 + Report Server
- 数据:表格包含批号、计算列
count和dist,已通过切片器筛选并聚合(可视化中多行合并为一行) - 筛选规则:仅计算
__visible = 1且LOI <> 1的显示条目 - 需求:新增度量值,计算
dist列总和(预期值9.2)和count列平均值
已尝试的DAX公式及结果
// 执行超时 sumx(groupby(allselected(Complaints), Complaints[Index]), Complaints[DIST])
// 计算结果:8.48 sumx(ADDCOLUMNS(allselected(Complaints), "test", [DIST]), [test])
// 计算结果:10 sumx(ADDCOLUMNS(filter(allselected(Complaints), Complaints[LOI] <> 1 && Complaints[__visible] = 1), "test", [DIST]), [test])
// 计算结果:10 SUMX(Filter(allselected(Complaints), Complaints[LOI] <> 1 && Complaints[__visible] = 1), Complaints[DIST])
// 计算结果:8.48 SUMX(Allselected(Complaints), Complaints[DIST])
// 计算结果:10 VAR tt = SUMMARIZE(Filter(allselected(Complaints), Complaints[LOI] <> 1 && Complaints[__visible] = 1),Complaints[Index], "jj", Complaints[DIST]) RETURN sumx(tt, [jj])
// 计算结果:8.48 VAR tt = SUMMARIZE(allselected(Complaints), Complaints[Index], "jj", Complaints[DIST]) RETURN sumx(tt, [jj])
正确解决方案
问题核心是:可视化中已按Index聚合为单行,但之前的公式要么未按聚合后的分组计算(导致重复求和原始多行数据得到10),要么未正确应用筛选条件得到8.48。需先提取符合筛选规则的聚合分组,再对分组后的dist/count进行统计。
1. 计算dist总和(预期9.2)
Dist_Sum_Correct = VAR Visible_Aggregated_Rows = SUMMARIZE( FILTER( ALLSELECTED(Complaints), Complaints[LOI] <> 1 && [__visible] = 1 ), Complaints[Index], // 匹配可视化的聚合维度 "@Dist_Value", MAX(Complaints[DIST]) // 提取每个聚合组的唯一dist值 ) RETURN SUMX(Visible_Aggregated_Rows, [@Dist_Value])
2. 计算count平均值
Count_Avg_Correct = VAR Visible_Aggregated_Rows = SUMMARIZE( FILTER( ALLSELECTED(Complaints), Complaints[LOI] <> 1 && [__visible] = 1 ), Complaints[Index], "@Count_Value", MAX(Complaints[count]) ) RETURN AVERAGEX(Visible_Aggregated_Rows, [@Count_Value])
说明
SUMMARIZE按Index分组,确保统计范围和可视化中的聚合行完全一致MAX(Complaints[DIST])用于提取每个聚合组的唯一dist值,若你的聚合逻辑为其他计算(如求和),可替换为对应聚合函数ALLSELECTED保留切片器的筛选上下文,保证统计范围和可视化的筛选结果匹配
内容的提问来源于stack exchange,提问作者Murphy013
相关产品推荐
相关产品推荐

