MDX查询以获取dateis大于的所有日期

时间:2016-08-04 11:55:53

标签: mdx mondrian

例如,我需要记录年份大于2013年的所有日期。此代码返回所有日期。

SELECT 
  {[Measures].[In]} ON COLUMNS
 ,Filter
  (
    [Date].MEMBERS
   ,
    [Date].[Year].CurrentMember > [Date].[2013]
  ) ON ROWS
FROM [Shop];

我需要拍摄日期大于2013.05.20

的所有日期

3 个答案:

答案 0 :(得分:2)

如果你想在一个范围内做更大的事情,那么在一边使用null

SELECT 
  {[Measures].[In]} ON 0,
  {[Date].[Year].[2013] : NULL}  ON 1
FROM [Shop];

答案 1 :(得分:0)

您的查询应该是正确的。我在我的多维数据集中尝试了类似的查询:

SELECT NON EMPTY { [Measures].[OneMeasure] } ON COLUMNS,
NON EMPTY
{
 FILTER( [Date].[Year].[Year].AllMembers, [Date].[Year].CurrentMember < [Date].[Year].&[2015])
} ON ROWS
FROM [Cases]

它按预期工作。应正确创建日期维度,以便比较正常工作。如果您想要特定日期,则应使用日期级别而不是年份。

答案 2 :(得分:0)

以下查询根据开始日期字段提供过去 2 年的数据。

SELECT 

{[Measures].[Measure_1],

[Measures].[Measure_2]
      } 
ON 0, 
       NON EMPTY{
       FILTER([Data].[Start Date].[Start Date].Members,
[Data].[Old Start Date].CurrentMember.MemberValue > 
DateAdd("m",-24,Now())
)
}
ON 1 
FROM   [Model]