Mdx , All 和 All Members 差异

Mdx , All and All Members differences

在MDX中有什么区别

[Period].[Period Name].[Period Name].ALLMEMBERS 

and

[Period].[Period Name].ALL

这些说法相同吗?

不,他们不是。 ALLMEMBERS表示所有轴成员,例如:period1, period2, period3 ..,包括1个成员中的所有期间:All

因此,[ALL]成员表示所有时期。例如,您可以计算每个月的 [Measures].[Total Sales] 或 all 个日期。当您只需要 [ALL] 成员来执行此操作时就是这种情况

如果你只想获得成员,没有 ALL 成员,你应该使用:[DimA].[LevelA].Children

ALLMEMBERS实际上是MDX语言中的一个函数。此函数returns 一组成员。在字符串末尾标记的函数有点不寻常,但 MDX 是不寻常的。

MSDN 对此函数的引用:https://msdn.microsoft.com/en-us/library/ms144768.aspx

[All] 在您提供的上下文中是一个成员 - All 成员。大多数层次结构都有这些成员之一。我认为该成员的最一般形式是 [(All)]。下面是它用于 AdvWrks 多维数据集的示例:

SELECT 
  {[Measures].[Internet Sales Amount]} ON 0
 ,[Date].[Calendar].[(All)] ON 1
FROM [Adventure Works];

SELECT 
  {[Measures].[Internet Sales Amount]} ON 0
 ,[Date].[Calendar].[All] ON 1
FROM [Adventure Works];

我认为层次结构 all 成员可以重命名为更具描述性的内容,例如 All Dates,在这种情况下,您需要使用 [All Dates][All]

我之前专门问过一个关于 All 成员的问题: Is [All] a level aswell as a member