MDX
脚本中子句的评估顺序是什么?
WITH
MEMBER measures.A AS ...
MEMBER measures.B AS ...
SET S1 AS ...
SELECT
{
measures.A
,measures.B
,measures.x
} ON COLUMNS
{S1} HAVING <condition> on ROWS
FROM [Cube]
WHERE ({S2})
FROM
WHERE
WITH
SELECT
HAVING
但也许不是那么简单,因为MEMBER
和SET
在上下文方面的处理方式不同 - 所以如果这个顺序是正确的,那么上下文如何结合?
答案 0 :(得分:5)
我会说:
通过&#34;会员位置&#34;在第3步中,我指的是成员存在的信息,以及层次结构中可能位于哪个层次结构中的信息。这不涉及成员定义表达式。这将在步骤5和6中进行评估。但步骤4需要该位置。
轴的并行评估意味着查询处理中的轴之间没有关系。
另请注意,这是概念视图。在物理上,步骤6可能发生在步骤4的处理期间,或者优化器决定的是正确的执行顺序,只要结果是相同的。