DAX新手求助:如何依据另一列条件汇总指定列行值
DAX分组求和问题解决
问题分析
你需要为每个col1分组计算col2的总和,并将该总和显示在分组内的每一行中。你之前的度量值失效的原因是:FILTER中的条件Sheet1[col1] == Sheet1[col1]始终为真,导致CALCULATE计算的是所有选中行的col2总和,而非按col1分组的总和。
正确DAX写法
方法1:使用ALLEXCEPT保留分组上下文
col3 = CALCULATE ( SUM ( Sheet1[col2] ), ALLEXCEPT ( Sheet1, Sheet1[col1] ) )
ALLEXCEPT会移除Sheet1中除col1外的所有筛选上下文,确保只计算当前col1分组下的col2总和。
方法2:使用EARLIER引用外部行上下文
col3 = CALCULATE ( SUM ( Sheet1[col2] ), FILTER ( ALLSELECTED ( Sheet1 ), Sheet1[col1] = EARLIER ( Sheet1[col1] ) ) )
EARLIER用于引用外部行上下文的col1值,让FILTER只筛选出与当前行col1相同的行,再对这些行的col2求和。
内容的提问来源于stack exchange,提问作者maven
相关产品推荐
相关产品推荐

