简单的MDX日期范围不起作用

时间:2015-08-17 19:03:10

标签: mdx mondrian

我有这个:

 SELECT 
   {[Case_Type].[Case_Type].AllMembers} ON COLUMNS,
   {[Geography].[country].AllMembers} ON ROWS 
 FROM [Cases_Cube]
 where ([Create_Date_Key].[Create_Date_Key].&[20150201] :  [Create_Date_Key].[Create_Date_Key].&[20150208])

并且工作正常 - 如果分别有20150201和20150208。

但是,我需要能够在任何日期范围内发送。当我使用不存在的日期时...查询失败。

我做了很多研究,似乎无法得到一个好的,简单的答案。

1 个答案:

答案 0 :(得分:0)

这是麻烦的一套吗?

[Create_Date_Key].[Create_Date_Key].&[20150201] : [Create_Date_Key].[Create_Date_Key].&[20150208]

如果多维数据集中不存在20150201,则处理器会将上述内容解释为:

null : [Create_Date_Key].[Create_Date_Key].&[20150208]

返回20150208之前的所有日期

如果多维数据集中不存在20150208,则处理器会将上述内容解释为:

[Create_Date_Key].[Create_Date_Key].&[20150201] : null

返回20150201之后的所有日期。

希望这可以解释您遇到的行为。

您可以将用户的选择限制在多维数据集中的日期吗?