Power BI矩阵中按小时统计品牌销售累计值异常问题
按品牌+小时统计销售累计值的DAX公式修复方案
原公式问题出在ALLSELECTED('Actuals TY')——这个函数会清除当前行的品牌筛选上下文,导致每个品牌行都计算了所有品牌的累计值,只有总计行显示正常(因为总计本身就是全品牌总和)。
以下是两种可行的修复方案:
方案1:使用ALLEXCEPT保留品牌筛选
Cumulative demand TY hour2 = CALCULATE( SUM('Actuals TY'[ConvertedRev]), FILTER( ALLEXCEPT('Actuals TY', 'Actuals TY'[Brand]), // 仅移除品牌外的筛选,保留当前品牌上下文 'Actuals TY'[hourtime] <= MAX('Actuals TY'[hourtime]) ) )
ALLEXCEPT函数会保留你指定列(这里是品牌)的筛选条件,仅清除其他列的筛选,确保每个品牌行只计算自身的小时累计值。
方案2:在筛选器中加入品牌匹配条件
Cumulative demand TY hour2 = CALCULATE( SUM('Actuals TY'[ConvertedRev]), FILTER( ALLSELECTED('Actuals TY'), 'Actuals TY'[Brand] = SELECTEDVALUE('Actuals TY'[Brand]) && // 限定当前行的品牌 'Actuals TY'[hourtime] <= MAX('Actuals TY'[hourtime]) ) )
通过SELECTEDVALUE('Actuals TY'[Brand])获取当前行的品牌值,在筛选器中明确只计算该品牌的小时数据,避免跨品牌求和。
替换公式后,各品牌行将显示自身的累计销售值,总计行仍保持全品牌累计总和。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

