【问题标题】:How to change name of columns or rows in mdx query如何在 mdx 查询中更改列或行的名称
【发布时间】: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 查询更改重命名,例如这个示例? 此外,最后一行没有名称。如何为该行添加名称?

谢谢。

【问题讨论】:

    标签: mdx olap mondrian


    【解决方案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】:

      你可以通过两种方式做到这一点:

      1. 在 Balance.Currency 维度中添加全名属性并显示此属性而不是键
      2. 如果您可以为 Balance.Currency 键和名称设置不同的来源 - 那么 MEMBER_KEY 将为 EUR,但 Balance.Currency 将为您提供 EURO
      3. 在 UI/报告工具中将 EUR 转换为 EURO

      当然,对于 1 和 2,您需要使用货币名称扩展货币维度的源表

      【讨论】:

        猜你喜欢
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-27
        • 1970-01-01
        • 1970-01-01
        • 2013-07-08
        • 2021-02-15
        相关资源
        最近更新 更多