如何使用MDX查询检索内部节点的数据集?

时间:2013-08-22 06:40:33

标签: database dataset mdx olap

我尝试使用MDX查询检索更高级别(不是叶级别)的数据集。但结果不正确。例如,基于Microsoft Adventure Works DW 2008R2数据库。我想从这两个维度获取数据:

[Customer].[Education].[All Customers]
[Geography].[Country].[All Geographies]

使用互联网销售额金额衡量标准。我使用的MDX查询是:

select {[Measures].[Internet Sales Amount]} on axis(0), ({[Customer].[Education].[All Customers]}) on axis(1) ,({[Geography].[Country].[All Geographies]}) on axis(2) from [Adventure Works]

结果是29358677。

但是当我总结这两个维度的子节点时,结果如下: enter image description here

结果是176152062.我的MDX查询有什么问题?

1 个答案:

答案 0 :(得分:2)

我获得的数字与您不同:您的查询返回三维结果,大多数客户端工具最多只能处理两个维度。由于您在列上只有一个成员(Internet Sales Amount度量),我将其移动到滑块轴,您的行轴移动到列,页面轴移动到行,从而能够运行修改后的查询< / p>

select ({[Customer].[Education].[All Customers]}) on axis(0) ,
       ({[Geography].[Country].[All Geographies]}) on axis(1)
 from [Adventure Works]
where [Measures].[Internet Sales Amount]
在SSMS中

,结果是29,358,677.22美元。这正是第二个表中每个列的总和。这些列中的每一列都具有相同的结果。这是可以预期的,因为Geography维度与Internet Sales度量值组无关。因此,对该维度的每个成员重复相同的Internet Sales Amount值。如果您想在AdventureWorks中使用Internet Sales的地理位置细分,则必须使用Customer维度的位置文件夹中的层次结构。