Power BI中DAX计算列异常:统计≤3评分的计数错误
问题解决:Power BI DAX计算列统计评分≤3次数异常
问题现象
使用DAX创建计算列统计单篇文章评分≤3的次数时,结果远高于实际值(如article_id=10实际4条符合,返回15),但相同逻辑统计评分4/5时无问题,另一张表类似场景用SUM聚合才正常。
原公式问题分析
原公式嵌套FILTER在CALCULATE内部,写法冗余导致上下文处理异常:
TotalCountRated3OrLess = CALCULATE( COUNTROWS(FILTER('ArticleFeedbackExternal', 'ArticleFeedbackExternal'[result] <= 3)), ALLEXCEPT('ArticleFeedbackExternal', 'ArticleFeedbackExternal'[article_id]) )
FILTER先筛选全表中result≤3的行,再结合ALLEXCEPT保留当前article_id的逻辑,容易出现上下文冲突,导致统计范围错误。
修正方案
方案1:简化CALCULATE筛选逻辑
直接将评分条件作为CALCULATE的筛选参数,配合ALLEXCEPT锁定当前文章ID,逻辑更清晰:
TotalCountRated3OrLess = CALCULATE( COUNTROWS('ArticleFeedbackExternal'), ALLEXCEPT('ArticleFeedbackExternal', 'ArticleFeedbackExternal'[article_id]), 'ArticleFeedbackExternal'[result] <= 3 )
方案2:用SUMX逐行累加(与另一张表逻辑一致)
通过SUMX遍历当前文章的所有行,对符合条件的行计数累加,和你提到的另一张表用SUM聚合的逻辑匹配:
TotalCountRated3OrLess = SUMX( ALLEXCEPT('ArticleFeedbackExternal', 'ArticleFeedbackExternal'[article_id]), IF('ArticleFeedbackExternal'[result] <= 3, 1, 0) )
两种方案都能准确统计单篇文章中评分≤3的次数,解决结果偏高的问题。
内容的提问来源于stack exchange,提问作者Cod3pendent
相关产品推荐
相关产品推荐

