首页 > 解决方案 > 在 PowerBI 中使用计算列和度量时的不同结果

问题描述

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

我的计算列:

在此处输入图像描述

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

并通过此列进行可视化:

在此处输入图像描述在此处输入图像描述

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

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

用这个措施视觉:

在此处输入图像描述 在此处输入图像描述

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

标签: powerbidaxpowerquerycalculated-columnsmeasure

解决方案


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

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

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

推荐阅读