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

DAX查询问题:筛选非指定表Key后对tblSales[Sales]求和

解决DAX度量值计算问题

原代码的错误点

  • 语法错误:VALUES('tblDIMID'[Key], FILTER(...)) 中VALUES函数参数格式错误(VALUES仅接受单一列参数),且多处存在括号、单引号未闭合的问题;FILTER('tblFactID, ...) 缺少单引号闭合和括号。
  • 逻辑错误:变量a的逻辑是取tblDIMID中不在tblFactID的Key,但实际需要的是tblFactID中不在tblDIMID的Key,方向完全搞反。

正确的DAX查询(用于DAX Studio测试)

DEFINE
VAR ExcludedKeys = EXCEPT(VALUES(tblFactID[Key]), VALUES(tblDIMID[Key]))
EVALUATE
CALCULATE(
    SUM(tblSales[Sales]),
    tblFactID[Key] IN ExcludedKeys
)

报表用的度量值写法

如果是在Power BI/SSAS中创建报表度量值,直接使用以下代码即可(无需DEFINE/EVALUATE结构):

Sales_Exclude_DIMID = 
CALCULATE(
    SUM(tblSales[Sales]),
    EXCEPT(VALUES(tblFactID[Key]), VALUES(tblDIMID[Key]))
)

更直观的替代写法(用FILTER展示逻辑)

如果想更清晰呈现筛选逻辑,也可以用FILTER直接筛选tblFactID表:

Sales_Exclude_DIMID = 
CALCULATE(
    SUM(tblSales[Sales]),
    FILTER(
        tblFactID,
        NOT(tblFactID[Key] IN VALUES(tblDIMID[Key]))
    )
)

说明

  • EXCEPT函数能直接返回tblFactID[Key]中不在tblDIMID[Key]内的所有值,比嵌套FILTER的写法更简洁高效。
  • 由于三张表之间已存在关联关系,DAX会自动通过关系传递筛选条件,无需额外处理关联逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:08:23