在 MDX 查询中重命名维度 Headers

Rename the Dimension Headers in MDX Queries

我需要重命名结果中的维度 headers table 例如,我可以像下面这样更改度量名称:

WITH Member x AS [Measures].[Num of Project]
SELECT
NON Empty {x} ON COLUMNS,
NON Empty {[DimensionName].[HierarchyName].[LevelName]} on ROWS
FROM [CubeName]

而这个 MDX 查询 return 一个 table 结果在 Analysis Server 的界面中是这样的:

|---------------------|------------------|
|     LevelName       |         x        |
|---------------------|------------------|
|     Member 1        |         34       |
|---------------------|------------------|
|     Member 2        |         12       |
|---------------------|------------------|
                      .
                      .
                      .

但是我必须重命名显示维度的级别名称,例如我想将 'LevelName' 重命名为 'Level 1' 作为 table header 中的显示名称。我尝试了以下 MDX 查询:

WITH Member x AS [Measures].[Num of Project]
SELECT
NON Empty {x} ON COLUMNS,
NON Empty {[DimensionName].[HierarchyName].[LevelName]} as [Level 1] on ROWS
FROM [CubeName]

但是既不行也不排除错误。 'LevelName' 仍然显示在 table header 中,而不是 'Level 1'。我需要在 Adomd Connection 中区分维度以进行某些计算。我在任何地方都找不到任何答案。我是 MDX 的新手,我希望我能清楚地解释我的问题。

您可以对维度执行与对度量相同的操作。例如你可以做这样的事情(你可能需要做一些改变以适应你的情况)

WITH Member [Measures].[x] AS [Measures].[Num of Project]
     Member [Measures].[Level 1] AS [DimensionName].[HierarchyName].CurrentMember.membervalue
SELECT
NON Empty {[Measures].[x], [Measures].[Level 1]} ON COLUMNS,
NON Empty {[DimensionName].[HierarchyName].[LevelName]} on ROWS
FROM [CubeName]

您可能会注意到,这不会重命名维度的 header(这通常应该由报告工具完成),而是会在您的数据集中创建一个包含所需的新列header。