如何使用蒙德里安聚合单个维度的多个层次结构?

Posted

技术标签:

【中文标题】如何使用蒙德里安聚合单个维度的多个层次结构?【英文标题】:How to aggregate multiple hierarchies of a single dimension using Mondrian? 【发布时间】:2019-08-28 12:59:22 【问题描述】:

我有以下 MDX 查询:

SELECT [MEASURES].[MEASURE_VALUE] ON COLUMNS,
     
        [DIMENSION_A].[HIERARCHY_1],
        [DIMENSION_A].[HIERARCHY_2]
    
       ON ROWS
FROM [MY_CUBE]

正如预期的那样,我得到了 2 个值,每个层次结构一个。

问题:我想要一个值来表示我从上面的查询中得到的 2 个值的总和。我不知道该怎么做,我尝试了以下方法

SELECT [MEASURES].[MEASURE_VALUE] ON COLUMNS,
     
        [DIMENSION_A].[HIERARCHY_1] * [DIMENSION_A].[HIERARCHY_2]
    
       ON ROWS
FROM [MY_CUBE]

但我收到了这个错误: Caused by: mondrian.olap.MondrianException: Mondrian Error:Tuple contains more than one member of hierarchy '[DIMENSION_A.HIERARCHY_2]'.

我对蒙德里安不太熟悉,通过阅读文档,您似乎只能交叉连接不同的维度而不是同一维度的层次结构。以 SQL 方式并给出一个非常简单的上下文,我相信它相当于 WHERE 子句,例如:

WHERE DIMENSION_A.HIERARCHY = HIERARCHY_1 OR DIMENSION_A.HIERARCHY = HIERARCHY_2

【问题讨论】:

【参考方案1】:

您可以使用 .where 子句。详情请参考以下网址: Where condition in Mondrian

【讨论】:

以上是关于如何使用蒙德里安聚合单个维度的多个层次结构?的主要内容,如果未能解决你的问题,请参考以下文章

使用蒙德里安模式的数据仓库中的多对多维度

具有退化维度的蒙德里安表现不佳

在 Mondrain Schema 中定义时间维度?

如何存储蒙德里安查询的数据?

JPivot 显示蒙德里安结果

使用蒙德里安的星型模式势在必行?