Ssas MDX查询返回什么?
我刚开始学习SSAS,无法理解其基本思想 当查询修复的维度少于多维数据集时会发生什么情况?Ssas MDX查询返回什么?,ssas,mdx,Ssas,Mdx,我刚开始学习SSAS,无法理解其基本思想 当查询修复的维度少于多维数据集时会发生什么情况? 所有示例通常都会出现这样的查询:尺寸的交点给出一个点或一个轴;在前一种情况下,我们得到值,在后一种情况下,我们得到一些聚合值。 然而,我无法理解当固定维度产生一个维度更少的立方体时会发生什么。这种查询的结果是什么?MDX查询实际上返回一个多维数据集,也就是一个子多维数据集 我想这足以在行动中证明这一点: SELECT NON EMPTY { [Measures].[Intern
所有示例通常都会出现这样的查询:尺寸的交点给出一个点或一个轴;在前一种情况下,我们得到值,在后一种情况下,我们得到一些聚合值。
然而,我无法理解当固定维度产生一个维度更少的立方体时会发生什么。这种查询的结果是什么?MDX查询实际上返回一个多维数据集,也就是一个子多维数据集 我想这足以在行动中证明这一点:
SELECT
NON EMPTY
{
[Measures].[Internet Order Count]
} ON COLUMNS
,NON EMPTY
{
[Sales Territory].[Sales Territory].[Country].MEMBERS
*
[Date].[Calendar].[Month].ALLMEMBERS
} ON ROWS
FROM
( //>>>>>>following is a sub-select>>>>>
SELECT
[Date].[Calendar].[Month].&[2008]&[1] ON COLUMNS
FROM [Adventure Works]
);
我标记的部分是一个子选择
,它返回一个立方体。然后,外部脚本将进一步查询该多维数据集
如果返回一个多维数据集,那么为什么我们只看到一个值表?返回立方体和实际可见的是两件不同的事情。每当我们运行
mdx
脚本时,都会使用所有维度-如果我们没有在脚本中明确使用维度,那么它将在[(全部)]
级别进行评估。因此,即使ssms只显示一个小表,脚本也会返回所有维度,然后通过脚本中指定的内容只显示某些方面。MDX查询实际上返回一个多维数据集,也就是一个子多维数据集
我想这足以在行动中证明这一点:
SELECT
NON EMPTY
{
[Measures].[Internet Order Count]
} ON COLUMNS
,NON EMPTY
{
[Sales Territory].[Sales Territory].[Country].MEMBERS
*
[Date].[Calendar].[Month].ALLMEMBERS
} ON ROWS
FROM
( //>>>>>>following is a sub-select>>>>>
SELECT
[Date].[Calendar].[Month].&[2008]&[1] ON COLUMNS
FROM [Adventure Works]
);
我标记的部分是一个子选择
,它返回一个立方体。然后,外部脚本将进一步查询该多维数据集
如果返回一个多维数据集,那么为什么我们只看到一个值表?返回立方体和实际可见的是两件不同的事情。每当我们运行
mdx
脚本时,都会使用所有维度-如果我们没有在脚本中明确使用维度,那么它将在[(全部)]
级别进行评估。因此,即使ssms只显示一个小表,脚本也会返回所有维度,然后通过脚本中指定的内容只显示某些方面。我将尝试对其进行更简单的解释,而不是前面的答案
在SELECT
语句中,您定义了一个更像结果的数学空间的“空间”。使用聚合函数将整个立方体投影到该空间上
如果要投影多维数据集的一部分,可以使用WHERE
子句
这是
SQL
之间的关键区别,在一开始我很难理解:)我将尝试更简单地解释它,然后是前面的答案
在SELECT
语句中,您定义了一个更像结果的数学空间的“空间”。使用聚合函数将整个立方体投影到该空间上
如果要投影多维数据集的一部分,可以使用WHERE
子句
这是
SQL
之间的关键区别,在一开始我很难理解:)查询返回一个多维数据集。查询返回一个多维数据集。是ssms决定查询聚合而不是以某种方式返回整个多维数据集吗?是ssms决定查询聚合而不是以某种方式返回整个多维数据集吗?