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

DAX新手求助:CALCULATE跨表求和后筛选失效问题

问题分析与解决方案

你的问题出在当前DAX公式的FILTER逻辑上:直接对全表FBB_Sales_Info进行Team匹配,完全忽略了外部对该表的筛选上下文,所以筛选时绩效列不会同步变化。

解决方案1:利用表关系(推荐)

如果Team Performance表和FBB_Sales_Info表已经通过[Team]字段建立了一对多关系(Team Performance为一方,FBB_Sales_Info为多方),直接简化公式即可:

Billed Revenue = SUM(FBB_Sales_Info[FBB MRR (vat-ex)])

关系会自动传递筛选上下文,SUM会根据当前行的Team以及外部对FBB_Sales_Info的筛选结果,自动计算对应数据的总和。

解决方案2:无表关系时调整筛选逻辑

如果暂时无法建立表关系,需要修改FILTER逻辑,保留外部筛选上下文:

方式A:使用KEEPFILTERS

Billed Revenue = 
CALCULATE(
    SUM(FBB_Sales_Info[FBB MRR (vat-ex)]),
    KEEPFILTERS(FBB_Sales_Info[Team] = EARLIER('Team Performance'[Team]))
)

KEEPFILTERS会保留外部对FBB_Sales_Info的筛选条件,同时添加Team匹配的过滤规则,确保筛选操作能同步影响计算结果。

方式B:基于已筛选的表进行匹配

Billed Revenue = 
CALCULATE(
    SUM(FBB_Sales_Info[FBB MRR (vat-ex)]),
    FILTER(
        ALLSELECTED(FBB_Sales_Info),
        'Team Performance'[Team] = FBB_Sales_Info[Team]
    )
)

ALLSELECTED(FBB_Sales_Info)会获取当前用户筛选后的FBB_Sales_Info数据集,再在这个范围内匹配Team,从而同步筛选结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:21:06