我正在执行从连接到SQL Server Management Studio中的OLAP多维数据集的Excel数据透视表中检索到的MDX查询。我在使用SQL事件探查器检索MDX查询,同时在Excel中刷新它。
我只是在数据透视表的“行”框中拖动一个维度属性。 Excel向我展示了所有客户ID,每行为它们放一个(就像T-SQL中的简单选择一样)。这符合我的期望。
我注意到虽然Excel在Rows上显示了所选的维度属性,但在管理工作室中使用检索到的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
任何人都可以解释原因吗?
答案 0 :(得分:2)
因为您没有要求多个Axis
。 COLUMNS
是Axis的别名( 0 )。对于您来说,在" Rows"中读取数据可能更容易。显示一下。对于excel,重要的是每个轴上的信息。
我想添加一些额外的信息来帮助您进行MDX探索。
我与此扩展程序没有任何关系,但它确实非常有用。
编辑:
您可以将轴(0)设置为空SET { }
,并在ROWS
轴中显示您的客户。
SELECT
{ } on 0,
[CustomerDimension].[CustomerId].[All].CHILDREN ON 1
FROM [DWH]