MDX 查询什么 return?
What does an MDX query return?
刚开始学SSAS,基本思路还不明白
当查询修复的维度少于立方体的维度时会发生什么?
所有示例通常都会出现维度交集给出点或轴的查询;在前一种情况下,我们得到了值,而在后一种情况下,我们得到了一些聚合值。
但我无法理解当固定维度产生维度较少的立方体时会发生什么。这样查询的结果是什么?
一个 MDX 查询实际上 returns 一个多维数据集 - 一个子多维数据集。
我想这足以展示它的实际效果:
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]
);
我标记的部分是 sub-select
其中 returns 一个立方体。然后由外部脚本进一步查询该多维数据集。
如果返回一个多维数据集,那么为什么我们只看到 table 个值?返回立方体和实际可见的是两件不同的事情。每当我们 运行 一个 mdx
脚本时都会使用所有维度 - 如果我们没有在脚本中明确使用维度,那么它会在 [(All)]
级别进行评估。因此,即使通过说 ssms
只显示了一个小的 table,所有维度都由脚本返回,然后只有某些方面通过脚本中指定的内容可见。
我会尽量解释得更简单,然后是之前的答案。
在 SELECT
语句中,您定义了一个 'space' 更像结果的数学 space。使用聚合函数 将整个立方体 投影到那个 space 上。
如果要投影立方体的一部分,请使用 WHERE
子句。
这是 SQL
之间的关键区别,一开始我很难理解:)
刚开始学SSAS,基本思路还不明白
当查询修复的维度少于立方体的维度时会发生什么?
所有示例通常都会出现维度交集给出点或轴的查询;在前一种情况下,我们得到了值,而在后一种情况下,我们得到了一些聚合值。
但我无法理解当固定维度产生维度较少的立方体时会发生什么。这样查询的结果是什么?
一个 MDX 查询实际上 returns 一个多维数据集 - 一个子多维数据集。
我想这足以展示它的实际效果:
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]
);
我标记的部分是 sub-select
其中 returns 一个立方体。然后由外部脚本进一步查询该多维数据集。
如果返回一个多维数据集,那么为什么我们只看到 table 个值?返回立方体和实际可见的是两件不同的事情。每当我们 运行 一个 mdx
脚本时都会使用所有维度 - 如果我们没有在脚本中明确使用维度,那么它会在 [(All)]
级别进行评估。因此,即使通过说 ssms
只显示了一个小的 table,所有维度都由脚本返回,然后只有某些方面通过脚本中指定的内容可见。
我会尽量解释得更简单,然后是之前的答案。
在 SELECT
语句中,您定义了一个 'space' 更像结果的数学 space。使用聚合函数 将整个立方体 投影到那个 space 上。
如果要投影立方体的一部分,请使用 WHERE
子句。
这是 SQL
之间的关键区别,一开始我很难理解:)