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

fen*_*nix 2 sql olap mdx dimension mondrian

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

这部分mdx查询:

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

转换成SQL是:

WHERE Date BETWEEN '2013-02-01' AND '2014-07-07'
Run Code Online (Sandbox Code Playgroud)

我想在 MDX 中实现的目标:

SQL:

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

Dan*_*sch 5

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

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

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]
    })
Run Code Online (Sandbox Code Playgroud)