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

Excel PivotTable result vs executed MDX query result

我正在执行从 Excel 数据透视表检索的 MDX 查询,该数据透视表连接到 SQL Server Management Studio 中的 OLAP 多维数据集。我在 Excel.

中刷新时使用 SQL Profiler 检索了 MDX 查询

我只是在数据透视表的 "Rows" 框中拖入一个维度属性。 Excel 向我展示了所有客户 ID,每行一个(就像 T-SQL 中的简单 select 一样)。这符合我的预期。

我注意到虽然 Excel 在行上显示 selected 维度属性,但在管理工作室中使用检索到的 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

谁能解释为什么?

因为你要的不超过一个AxisCOLUMNS 是 Axis(0) 的 别名 。对您来说,以 "Rows" 显示外观可能更容易阅读数据。对于 excel 重要的是每个轴上的信息。

我想添加额外的信息来帮助您探索 MDX。

Olap PivotTable Extension

我与这个扩展没有任何关系,但它真的很有用。

编辑:

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

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