Excel数据透视表结果vs执行的MDX查询结果

我正在执行从Excel数据透视表检索到的连接到SQL Server Management Studio中的OLAP多维数据集的MDX查询。 我已经使用SQL Profiler检索了MDX查询,同时在Excel中进行了刷新。

我只是拖动数据透视表的“行”框中的一个维度属性。 Excel向我展示了所有的客户ID,并将它们放在每一行(就像在T-SQL中做简单的select一样)。 这符合我的期望。

我注意到,虽然Excel在行上显示选定的维度属性,但在pipe理工作室中使用检索到的MDX查询将在列上显示。

我从SQL Profiler获得的MDX查询是:

SELECT NON EMPTY Hierarchize ( { DrilldownLevel ( { [CustomerDimension].[CustomerId].[All] } , , , INCLUDE_CALC_MEMBERS ) } ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME , HIERARCHY_UNIQUE_NAME ON COLUMNS FROM [DWH] CELL PROPERTIES VALUE , FORMAT_STRING , LANGUAGE , BACK_COLOR , FORE_COLOR , FONT_FLAGS 

谁能解释为什么?

因为你没有要求一个以上的Axis 。 而COLUMNS是Axis的别名0 )。 对于你来说,阅读“行”显示的数据可能会更容易。 对于Excel而言,重要的是每个轴上的信息。

我想添加一个额外的信息来帮助你在你的MDX探索。

Olap数据透视表扩展

我与这个扩展没有任何关系,但它确实非常有用。

编辑:

您可以将坐标轴(0)设置为空SET { }并在ROWS轴中显示您的客户。

 SELECT { } on 0, [CustomerDimension].[CustomerId].[All].CHILDREN ON 1 FROM [DWH]