如何在 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 查询中更改列或行的名称的主要内容,如果未能解决你的问题,请参考以下文章

如何将 MDX 查询中的行的集合转换为单个值?

检测图像像素的列或行是不是为线

第9课 汇总数据

第9课 汇总数据

更改列中的列宽或行高Excel

Power Query:如何使电源查询更新合并文件?