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

DAX如何编写扣除已冲销交易的销售额汇总度量值

销售额度量值(扣除冲销交易)调整方案

原有代码错误原因

你写的代码无法返回正常结果主要有两个核心问题:

  • 逻辑错误:在逐行遍历Sales表的SUMX内部再次嵌套SUMX遍历全表计算冲销金额,会出现行上下文嵌套混乱,且'Sales [Trans_Type] = "Reversed"'返回的是布尔值(0/1),直接和销售额数值做减法完全不符合业务逻辑
  • 语法错误:存在多余的右括号,字段引用格式也存在书写错误

调整后可正常运行的代码

Sales - Reversals ($) = 
IF (
    HASONEVALUE ( 'Currency'[Detail] ),
    SUMX (
        -- 提前筛选掉所有冲销交易
        FILTER ( 'Sales', 'Sales'[Trans_Type] <> "Reversed" ),
        'Sales'[Value_Sold] * CALCULATE ( VALUES ( 'Exchange Rates'[ExchangeRate] ) )
    )
)

调整逻辑说明

  • 调整位置:将SUMX的第一个参数(原直接引用的'Sales'表)替换为筛选后的表
  • 实现逻辑:先对销售表做预筛选,仅保留交易类型不为冲销的有效记录,再对这些记录做汇率换算和求和,相比在计算环节扣除冲销金额的写法,运行效率更高,也不会出现上下文混乱的问题

内容的提问来源于stack exchange,提问作者A. Molinari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 18:27:03