以下两个语句在多维数据集中返回相同的结果,是一个比另一个更优化还是在后台发生了一些编译器魔术?
CREATE MEMBER
CURRENTCUBE.[Measures].[Total Interest Expense]
AS
AGGREGATE(
EXISTING({([GL Income Statement Account].[Account Type].&[INTEREST EXPENSE])}),
[Measures].[Amount]
)
CREATE MEMBER
CURRENTCUBE.[Measures].[Total Interest Expense]
AS
(
[GL Income Statement Account].[Account Type].&[INTEREST EXPENSE],
[Measures].[Amount]
)
答案 0 :(得分:1)
这些实际上几乎是相同的表达式。 在第一个表达式中,Measures.[Amount]
聚合在集合[GL Income Statement Account].[Account Type].&[INTEREST EXPENSE]
(实际上是成员)上。 EXISTING
子句没有任何意义,因为您通过将其定义为成员来使集合(AGGREGATE
函数的第一个参数)上下文独立。 在第二个表达式中,对集合评估度量的值(它)只是一个成员。 (包含度量的元组实际上是数字的)。