我正在执行从连接到SQL Server Management Studio中的OLAP Cube的Excel数据透视表检索的MDX查询。我已经使用SQL分析器检索了MDX查询,同时在Excel中刷新它。
我只是在数据透视表的"行"框中拖动一个维度属性。Excel显示了所有的客户id,每一行一个(就像T-SQL中的简单选择一样)。
我注意到,虽然Excel在行上显示选定的维度属性,但在管理工作室中使用检索的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)。对于您来说,以"Rows"显示形式读取数据可能更容易。对于excel,重要的是每个轴上的信息。
我想添加一个额外的信息来帮助你在你的MDX探索。
Olap数据透视扩展
我与这个扩展没有任何关系,但它真的很有用。
编辑:您可以将您的轴(0)设置为空set { }
并在ROWS
轴中显示您的客户。
SELECT
{ } on 0,
[CustomerDimension].[CustomerId].[All].CHILDREN ON 1
FROM [DWH]