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