如何在 mdx 查询中更改列或行的名称
Posted
技术标签:
【中文标题】如何在 mdx 查询中更改列或行的名称【英文标题】:How to change name of columns or rows in mdx query 【发布时间】:2016-03-14 13:37:08 【问题描述】:我是 Mondrian 和 OLAP 的新手。我尝试更改列的名称。我还没变。这是我的查询:
WITH
SET ResponsibleSet AS [Responsible].[Name].Members
MEMBER [Responsible].[RowSum] AS AGGREGATE(ResponsibleSet)
SELECT FILTER([Balance].[Currency].Members, not [Balance].[Currency].currentMember.Properties('Deleted')) ON COLUMNS,
NON EMPTY ResponsibleSet, [Responsible].[RowSum] ON ROWS FROM [Balance Cube] WHERE (Measures.[Sum])
结果:
| | EXPENSE | INCOME |
| | false | false |
| | EUR | TRY | USD | EUR | TRY | USD |
+---------+---------+---------+---------+--------+--------+--------+
| Joe | 25 | 97 | 10 | 15 | 173 | 18 |
| | 25 | 97 | 10 | 15 | 173 | 18 |
例如:我想将“EUR”列更改为“EURO”。如何使用 mdx 查询更改重命名,例如这个示例? 此外,最后一行没有名称。如何为该行添加名称?
谢谢。
【问题讨论】:
【参考方案1】:不太确定蒙德里安 - 但在(标准)MS mdx 中,您可以执行以下操作:
我假设你的多维数据集中欧元的全名是[Balance].[Currency].[Currency].[Eur]
- 你需要适当地替换:
WITH
SET ResponsibleSet AS
[Responsible].[Name].MEMBERS
MEMBER [Responsible].[RowSum] AS
Aggregate(ResponsibleSet)
MEMBER [Balance].[Currency].[All].[Euro] AS
[Balance].[Currency].[Currency].[Eur]
SELECT
Except
(
Filter
(
[Balance].[Currency].MEMBERS
,(NOT
[Balance].[Currency].CurrentMember.Properties('Deleted'))
)
,[Balance].[Currency].[Currency].[Eur]
)
,[Balance].[Currency].[Currency].[Euro]
ON COLUMNS
,NON EMPTY
ResponsibleSet
,[Responsible].[RowSum]
ON ROWS
FROM [Balance Cube]
WHERE
Measures.[Sum];
【讨论】:
【参考方案2】:你可以通过两种方式做到这一点:
-
在 Balance.Currency 维度中添加全名属性并显示此属性而不是键
如果您可以为 Balance.Currency 键和名称设置不同的来源 - 那么 MEMBER_KEY 将为 EUR,但 Balance.Currency 将为您提供 EURO
在 UI/报告工具中将 EUR 转换为 EURO
当然,对于 1 和 2,您需要使用货币名称扩展货币维度的源表
【讨论】:
以上是关于如何在 mdx 查询中更改列或行的名称的主要内容,如果未能解决你的问题,请参考以下文章