You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI:如何基于客户级去年年末差异率计算符合条件的差异总和

DAX公式调整方案

问题根源

你当前使用的公式中,去年年末[Variance %]的计算逻辑是全局聚合的,没有绑定到单个客户维度,因此判断条件是全局统一生效的,只有所有客户整体的[Variance %]满足<=-1的要求时才会返回数值,和你需要的按单个客户判断的逻辑不符。

调整后公式

Term Reductions = 
VAR _date = MAX('Date-Processing'[Date])
VAR _month = MONTH(_date)
VAR _prior_year_end_date = IF(_month=1,EOMONTH(_date,-13),EOMONTH(_date,-_month))
RETURN
SUMX(
    VALUES(Customer[CustomerName]),
    -- 逐客户计算去年年末的Variance %
    VAR _customer_prior_year_variance_pct = CALCULATE(
        [Variance %],
        FILTER(ALL('Date-Processing'),'Date-Processing'[Date]=_prior_year_end_date),
        FILTER(AccountLoan,AccountLoan[RiskRatingCategoryCode]<>"S" && AccountLoan[RiskRatingCategoryCode]<>"W")
    )
    -- 逐客户判断是否符合条件,符合则返回对应Variance
    RETURN IF(_customer_prior_year_variance_pct <= -1, [Variance], BLANK())
)

调整说明

  • 将[Variance %]的计算逻辑放入SUMX对客户的迭代过程中,实现单个客户维度的独立计算
  • 每个客户单独判断阈值条件,只要单个客户满足要求就计入汇总,不受整体[Variance %]结果影响
  • 移除了冗余的SUMMARIZE函数,直接迭代客户维度列表,计算逻辑更简洁,执行效率更高

补充说明

如果你需要统计的是客户去年年末的[Variance]而非当前上下文的[Variance],可以将返回值部分的[Variance]替换为以下代码即可:

CALCULATE([Variance], FILTER(ALL('Date-Processing'),'Date-Processing'[Date]=_prior_year_end_date))

内容的提问来源于stack exchange,提问作者Yash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:27:01