java - 在一个轴和 where mdx 查询中使用相同的层次结构失败

标签 java database mdx aggregate hierarchy

我创建 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] )

但在练习中会抛出异常:

Caused by: mondrian.olap.MondrianException: Mondrian Error:Hierarchy '[DTime.TimeYearQuaterMonthDayTimestamp]' appears in more than one independent axis.

你能帮我吗?如何改进这个查询,使其在练习中不抛出异常?

最佳答案

解释错误消息:当尺寸全部位于同一轴内时,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 个成员)的虚拟维度,以便显示月与日或月与小时的报告。

关于java - 在一个轴和 where mdx 查询中使用相同的层次结构失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20636345/

相关文章:

java - JTextArea:限制字符串宽度和行数?

java - 如何在 Java 中作为 Sub 退出

mysql - 在mysql中连接两个表

rest - 在网页中呈现 ActivePivot

ssas - 如何查看 MS SSAS 2005 session 和查询

java - 为什么负输入在 for 循环中不起作用

java - 物理字体java?

mysql - 搜索逻辑分片

mysql - 合并sql数据库和不合并sql数据库是否有意义?

join - 如何在 MDX 中连接两个完全不同的立方体?