我在查询两个日期DateFrom和DateTo之间的mdx中的数据时遇到了一些问题。简单问题是,假设我们有[年] [月] [日]的3条记录:
[2012][8][21]
[2012][8][22]
[2012][8][23]
如果我传递DateFrom和DateTo,因为某些内容不在数据库中,例如DateFrom = [2012].[8].[20] and DateTo = [2012].[8].[24]
,则会显示错误“Mondrian Error:MDX object'[Date]。[2012]。[8]。 [20]'找不到立方体'电子邮件'“
但如果我将DateFrom和DateTo设置为数据库中的某些内容,例如DateFrom = [2012].[8].[21] and DateTo = [2012].[8].[23]
,则可以正常工作。
因为DateFrom和DateTo是从web ui中的Frond端传递的,所以我无法控制它,所以我认为我需要找到比DateFrom更大的最小值和比DateTo小的最大值,但我不知道如何,任何想法?或者我还有其他方法来解决这个问题吗?感谢。
答案 0 :(得分:1)
一般情况下,我建议您保持DateTime维度没有漏洞,并且过去使用较旧的边界,将来使用较远的边界,这样您就可以毫无问题地进行查询。
如果您无法编辑多维数据集定义,可以在MDX中使用FirstChild和LastChild运算符来获取场景中的开始日期和结束日期(我假设您的日期已排序)。