1

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

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

使用 Internet Sales Amount 度量。我使用的 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 查询有什么问题?

4

1 回答 1

2

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

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针对该维度的每个成员重复相同的值。如果要Internet Sales在 AdventureWorks 中使用地理细分,则必须使用维度的 Location 文件夹中的层次结构Customer

于 2013-08-22T07:06:53.400 回答