0

我在查询两个日期 DateFrom 和 DateTo 之间的 mdx 中的数据时遇到了一些问题。简单的问题是,假设我们有 [Year][Month][Day] 的 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]' not found in cube '电子邮件'”

但是,例如,如果我将 DateFrom 和 DateTo 设置为数据库中的某些内容DateFrom = [2012].[8].[21] and DateTo = [2012].[8].[23],则它可以工作。

因为 DateFrom 和 DateTo 是从 web ui 中的 Frond 端传递的,所以我无法控制它,所以我认为我需要找到大于 DateFrom 的最小值和小于 DateTo 的最大值,但我不知道如何, 任何的想法?还是我有任何其他方法来解决这个问题?谢谢。

4

1 回答 1

1

一般来说,我建议您保持 DateTime 维度没有孔,并且过去有较旧的界限,将来有很远的界限,这样您就可以毫无问题地查询。

如果您无法编辑多维数据集定义,您可以在 MDX 中使用 FirstChild 和 LastChild 运算符来获取场景中的开始日期和结束日期(我想您的日期已排序)。

于 2012-09-14T13:06:36.623 回答