具有两个或更多日期范围的MDX查询

时间:2014-08-12 23:17:06

标签: sql mdx olap dimension mondrian

是否可以在MDX Query中放置两个或更多数据范围?

这部分mdx查询:

FILTER([Time].[Date].MEMBERS,[Time].CURRENTMEMBER IN([Time].[2013].[2].[2013-02-01] : [Time].[2014].[7].[2014-07-07]))

转换为SQL是:

WHERE Date BETWEEN '2013-02-01' AND '2014-07-07'

我想在MDX中实现的目标:

SQL:

WHERE (Date BETWEEN '2013-02-01' AND '2014-07-07') OR (Date Between '2012-07-06' AND '2012-08-17');

1 个答案:

答案 0 :(得分:4)

":"运算符只是在两个成员(包括)之间创建一个自然排序的所有成员集。

您可以使用Set notation创建一个包含其他Sets元素的集合,只要它们位于同一层次结构中即可。

FILTER([Time].[Date].MEMBERS,[Time].CURRENTMEMBER IN(
    { 
        [Time].[2013].[2].[2013-02-01] : [Time].[2014].[7].[2014-07-07], 
        [Time].[2012].[7].[2012-07-06] : [Time].[2012].[8].[2012-08-17]
    })
相关问题