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

为何DAX中父行减子行返回全部发票号,除法仅返回相关发票号?

优化DAX减法度量值以过滤无数据发票号

问题原因

DIVIDE([Invoice $], CALCULATE([Invoice $], REMOVEFILTERS(Invoices[Invoice]))) 仅显示有[Invoice $]值的发票号,是因为当[Invoice $]为BLANK时,DIVIDE会返回BLANK,而Power BI等可视化工具默认隐藏包含BLANK值的行。

而减法度量值 [Invoice $] - CALCULATE([Invoice $], REMOVEFILTERS(Invoices[Invoice])) 会显示所有发票号,是因为当[Invoice $]为BLANK时,DAX会将其视为0参与运算,得到0 - 总计的非BLANK结果,这些行不会被自动隐藏。

优化方案

通过添加条件判断,确保仅当[Invoice $]不为BLANK时才计算差值,否则返回BLANK,让工具自动过滤无数据行:

方案1:用变量提升可读性与性能

Invoice $ Difference = 
VAR CurrentAmount = [Invoice $]
VAR TotalAmount = CALCULATE([Invoice $], REMOVEFILTERS(Invoices[Invoice]))
RETURN
    IF(NOT ISBLANK(CurrentAmount), CurrentAmount - TotalAmount, BLANK())

方案2:简洁版条件判断

Invoice $ Difference = 
IF(
    NOT ISBLANK([Invoice $]),
    [Invoice $] - CALCULATE([Invoice $], REMOVEFILTERS(Invoices[Invoice])),
    BLANK()
)

效果说明

优化后的度量值会在[Invoice $]为空时返回BLANK,可视化工具会自动隐藏这些行,最终仅显示有[Invoice $]值的发票号,与DIVIDE版本的显示逻辑一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 02:48:16