我正在学习Power BI DAX迭代器函数,当使用“度量”作为迭代器函数的表达式时,我感到困惑:
假设我们首先定义一个度量:
Quantity = SUM(Sales[Order Quantity])那么以下两个度量返回的结果不是相同的:
Product Quantity Rank =
RANKX(
ALL('Product'[Product]),
[Quantity]
)&
Product Quantity Rank too =
RANKX(
ALL('Product'[Product]),
SUM(Sales[Order Quantity])
)

第二个度量值转义了行上下文。但是为什么呢?
发布于 2020-08-28 15:36:44
要使第二个度量正确,您必须对聚合应用计算,如下所示-
Product Quantity Rank too =
RANKX(
ALL('Product'[Product]),
CALCULATE(SUM(Sales[Order Quantity]))
)可以找到一个非常好的解释:HERE
发布于 2020-09-03 09:53:51
通过查阅不同的材料,最终得出这是一个“语境转换”的问题。
SUM(Sales[Order Quantity])在……里面
Product Quantity Rank too =
RANKX(
ALL('Product'[Product]),
SUM(Sales[Order Quantity])
)实际汇总销售表中的每个“订单量”。
当使用CALCULATE函数时,它应用行上下文值作为过滤器,称为“上下文转换”。
如果您引用在行上下文中求值的表达式中的度量,则上下文转换是自动的。因此,您不需要将度量引用传递给CALCULATE函数。
因此,两者
Product Quantity Rank =
RANKX(
ALL('Product'[Product]),
[Quantity]
)和
Product Quantity Rank too =
RANKX(
ALL('Product'[Product]),
CALCULATE(SUM(Sales[Order Quantity]))
)作品
https://stackoverflow.com/questions/63627015
复制相似问题