在 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 的行也被考虑在内。
我创建了计算列和度量。他们应该带来相同的结果。但是在创建视觉效果时,我得到了不同的看法。
我的计算列:
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 的行也被考虑在内。