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

标签 java olap mondrian

我有以下 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]

但是我收到了这个错误: 由以下原因引起:mondrian.olap.MondrianException:Mondrian 错误:元组包含层次结构“[DIMENSION_A.HIERARCHY_2]”的多个成员。

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

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

最佳答案

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

关于java - 如何使用蒙德里安聚合单个维度的多个层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57693022/

相关文章:

SSAS - 将 MDX 报告参数传递给 MDX 数据集查询

postgresql - 在 Mondrain Schema 中定义时间维度?

mysql - MDX 相当于 SQL 查询

java - 如何使用 Java 解析 Html 并获取字符串形式的结果

java - 为什么 java.lang.Thread 在 Google App Engine 白名单中?

sql-server - 如何评估 MDX 在 OLAP 处理中的性能

postgresql - 如何使用 PostgreSQL 数据库作为 XMLA 数据源?

java - Java中按对象类型对对象列表进行排序

java - 在 Spring petclinic 中以 jsp jSTL 形式创建 boolean 字段

database - 存储大型人口统计数据集的最佳方式