我有以下MDX查询:
SELECT {[MEASURES].[MEASURE_VALUE]} ON COLUMNS,
{
{[DIMENSION_A].[HIERARCHY_1]},
{[DIMENSION_A].[HIERARCHY_2]}
}
ON ROWS
FROM [MY_CUBE]
如预期的那样,我得到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]'.
我对Mondrian不太熟悉,通过阅读文档,您似乎只能交叉连接不同的维度,而不能交叉连接同一维度的层次结构。以一种SQL方式并给出一个非常简单的上下文,我相信它等同于
WHERE
子句,例如:WHERE DIMENSION_A.HIERARCHY = HIERARCHY_1 OR DIMENSION_A.HIERARCHY = HIERARCHY_2
最佳答案
您可以使用.where子句。请参考以下网址以获取详细信息:
Where condition in Mondrian
关于java - 如何使用Mondrian汇总一个维的多个层次结构?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57693022/