powerbi - Power BI DAX 迭代器函数转义上下文
问题描述
我正在学习 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])
)
第二个度量值转义了行上下文。但为什么?
解决方案
通过查找不同的材料,终于弄清楚这是一个“上下文过渡”的问题。
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]))
)
作品
推荐阅读
- python - 如何根据数据框中的条件更改行的值?
- python - python用matplotlib同时绘制多个直方图
- amazon-web-services - 写入 s3 上的重复分区列
- r - brms 家庭二项式:公式试验的奇怪行为?错误:...需要整数响应
- swift - 如何制作可编码类来解码没有键/名称的json数组?
- delphi - 无法将变体类型(数组变体)转换为类型(OleStr)
- r - R markdown pdf更改并排表的标题标签
- excel - 需要代码将特定值从工作表上的表格中的选定行复制并粘贴到另一个表格中的单元格
- angular - 在订阅方法中将数据分配给变量后,一旦方法完成,数据就会消失
- javascript - 将来自 2 个不同 div 的两个值相加不工作