【问题标题】:How to sum the values of an measure in MDX?如何对 MDX 中的度量值求和?
【发布时间】:2012-03-01 08:10:55
【问题描述】:

我不知道如何表达,但尝试使用 MDX 对度量值求和。

我的 MDX 如下:

select {[CompanyDimension].[Foo], 
        [CompanyDimension].[Bar],
        [CompanyDimension].[CDK]} on columns,

TopCount([${SLRDimension}].Children, 
         10, 
         [Measures].[ProjectCountMeasure]) on rows

from [Foo_Cube]

where ([FAreaDimension].[Admin])

对于这个表达式,我得到以下输出:

+----------------------------------------------------------------------+
|                     | CompanyDimension.NameHierarchy                 |
+----------------------------------------------------------------------+
| SLRDimension        | Foo | Bar     | CDK
+----------------------------------------------------------------------+
| Development         | 1   | 1       | 6
| Testing             |     |         | 3
| Implementation      |     | 1       | 5
| Reports             | 1   |         | 4
| Planning            | 1   |         | 5
| Reporting           |     |         | 1
| Coding              |     |         | 2
| Performance         |     |         | 1
| Designed            |     | 1       |
| Designing           |     |         | 2
+----------------------------------------------------------------------+

现在我想得到每行值的总和。例如,在Development 的第一行中,我希望其对应的值为7,而不是具有 3 个值,即 1、1、6

我是 MDX 世界的新手,所以我不知道该怎么做。请帮忙!

我想要的最终值如下:

+----------------------------------------------------------------------+
|                     | CompanyDimension.NameHierarchy                 |
+----------------------------------------------------------------------+
| SLRDimension        | Sum 
+----------------------------------------------------------------------+
| Development         | 7
| Testing             | 3
| Implementation      | 6
| Reports             | 5
| Planning            | 6
| Reporting           | 1
| Coding              | 2
| Performance         | 1
| Designed            | 1     
| Designing           | 2
+----------------------------------------------------------------------+

【问题讨论】:

    标签: sum mdx pentaho mondrian


    【解决方案1】:

    使用 Pentaho 样本数据 SteelWheelsSales 立方体作为基础,这与您现在拥有的类似:

    SELECT NON EMPTY {[Customers].[All Customers]} ON ROWS,
      NON EMPTY {[Markets].[APAC],[Markets].[EMEA]} ON COLUMNS
    FROM [SteelWheelsSales]
    

    这就是你想要的:

    SELECT NON EMPTY {[Customers].[All Customers]} ON ROWS,
      NON EMPTY {[Measures].[Quantity]} ON COLUMNS
    FROM [SteelWheelsSales]
    WHERE {[Markets].[APAC],[Markets].[EMEA]}
    

    注意我如何将列替换为我想查看的度量,以及我如何将市场移至 WHERE 子句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多