我创建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.Mondrian异常: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 个成员),以便显示包含月与天或月与小时的报告。