在 PowerBI 中使用计算列和度量时的不同结果

Different results when using calculated column and measure in PowerBI

我创建了计算列和度量。他们应该带来相同的结果。但是在创建视觉效果时,我得到了不同的看法。

我的计算列:

if [CostPrice] = null then 0 else [AmountWithDiscount] - [CostPrice]

和此列的可视化:

当我尝试用 measure 做同样的事情时,结果却不同。 我的措施:

_surcharge = IF(SUM(CheckLines[CostPrice])= BLANK(), 0, SUM(CheckLines[AmountWithDiscount]) - SUM(CheckLines[CostPrice]))

此度量的视觉效果:

在我看来,这两个视觉效果在逻辑上应该是相同的。

计算列针对每一行进行评估和计算,而度量值针对上下文中的所有行评估一次。

这是一个重要的区别,可以解释您得到的不同数字:

  • 计算列“SurchargeColumn”是针对每一行计算的,如果“CostPrice”等于 NULL,则其值为 0。然后汇总此列的值并显示在第一个视觉对象上。
  • 该度量将立即对“CostPrice”的所有值求和。如果结果为空,则它将 return 0,否则它将 return“AmountWithDiscount”的总和减去“CostPrice”的总和。在度量计算中,单个行上的 CostPrice 是否为 NULL 无关紧要; CostPrice=NULL 的行也被考虑在内。