DAX多条件SWITCH度量值计算调整后销售计数结果异常求助
DAX度量值修正方案
你的代码存在三处错误导致计算结果不符合预期:
- SWITCH函数语法错误:第一个参数位置错误写入日期判断条件,既没有补全该条件后的逗号,也没有将日期判断和后续销售代码规则做逻辑关联
- 逻辑分支缺失:没有覆盖日期≥2022/6/22时直接取原始Sales Count的场景,导致这部分数据计算异常
- 符号错误:表名
'TABLE'的闭合单引号误使用全角字符,会直接触发语法报错
修正后的可直接运行代码如下:
Measure = SUMX ( 'TABLE', VAR _base = 'TABLE'[Sales Count] VAR _before_cutoff = 'TABLE'[Date] < DATE(2022,6,22) RETURN SWITCH( TRUE(), _before_cutoff && 'TABLE'[Sales Code] IN {"A0001","A0003","A0004"}, _base * 3, _before_cutoff && 'TABLE'[Sales Code] = "B0001", _base *4, _before_cutoff && 'TABLE'[Sales Code] = "C0001", _base *5, _base ) )
代码逻辑说明:
- 提前用变量存储原始销售计数、日期判断结果,减少重复计算
- 采用DAX多条件分支判断的标准写法
SWITCH(TRUE(), ...),每个倍率调整分支同时校验日期条件和销售代码条件,避免规则错配 - 所有不满足调整规则的行(包括日期在2022/6/22及之后的所有记录、日期早于阈值但销售代码不在调整列表的记录)统一返回原始销售计数值,完全匹配需求规则
内容的提问来源于stack exchange,提问作者Justin Wu
相关产品推荐
相关产品推荐

