我创建MDX查询:

with member [DTime.TimeYearQuaterMonthDayTimestamp].[Times] as
     Aggregate({[DTime.TimeYearQuaterMonthDayTimestamp].[2013].[4].[11].[17],
               [DTime.TimeYearQuaterMonthDayTimestamp].[2013].[4].[11].[18]}
              )
SELECT {[DTime.TimeYearQuaterMonthDayTimestamp].[Year].[Month} ON 1,
       {Measures.Price} ON 0
  FROM [Sales]
 WHERE ([DEndAuction].[true],[DTime.TimeYearQuaterMonthDayTimestamp].[Times] )


但是在运动中会抛出异常:


原因:mondrian.olap.MondrianException:Mondrian错误:层次结构'[DTime.TimeYearQuaterMonthDayTimestamp]'出现在多个独立轴上。


你能帮助我吗?如何改进在运动中不会抛出异常的查询?

最佳答案

解释错误消息:当MDX都在同一轴内时,它允许多次使用该尺寸。例如,如果您有一个名为[A]和[B]的尺寸,则可以这样做:

SELECT {[A].whatever} ON ROWS, {[B].whatever} ON COLUMNS FROM [mycube]


这是不允许的:

SELECT {[A].whatever} ON ROWS, {[A].whatever} ON COLUMNS FROM [mycube]


WHERE子句也是如此,就像另一个轴一样。您不能在1以及WHERE内使用[DTime]维。

某些人创建了一个虚拟维度,名为[DayOfWeek],成员为7,或者为[Hour],成员为24,以显示月数与天数或月数与小时数的报告。

07-27 22:08