我尝试使用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。
但是当我总结这两个维度的子节点时,结果如下:
结果是176152062.我的MDX查询有什么问题?
答案 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
维度的位置文件夹中的层次结构。