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

MDX query to get all dates where dateis greater than

例如,我需要获取年份大于 2013 年的所有日期。此代码 return 所有日期。

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

我需要获取所有大于 2013.05.20 的日期

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

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

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

如果你想做的大于一个范围,那么在一侧使用 null

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

下面的查询根据开始日期字段提供了过去 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]