MDX 查询以从日期范围中排除特定日期

MDX query to except specific date from date range

我需要从集合中删除所有 2 个月。此代码 return 所有日期范围,不包括 2 个月。

SELECT 
   {[Measures].[In]} ON COLUMNS,
   EXCEPT([Date].[2014].[1] : [Date].[2016].[2], [Date].[Month].[2]) ON ROWS
FROM [Shop hourly]

打印 whytheq 的屏幕

我的决定基于 whytheq answear。我为各种日期创建了一个维度,除了它们。示例:

SELECT {[Measures].[In sum]} ON COLUMNS,
    NON EMPTY 
        {[Shop].[11], [Shop].[22], [Shop].[33]} * 
        Except([Quarter].Children, [Quarter].[2]) * 
        [Month].Children ON ROWS
FROM [Shop hourly]
WHERE 
    ([Date].[2013].[1].[1] : [Date].[2016].[1].[1]) * 
    Except([Year].Children, [Year].[2014])

AdventureWorks 中,我可以执行以下操作:

SELECT 
  [Measures].[Internet Sales Amount] ON 0
 ,NON EMPTY 
    Except
    (
        [Date].[Calendar].[Month].&[2005]&[7]
      : 
        [Date].[Calendar].[Month].&[2008]&[7]
     ,Exists
      (
        [Date].[Calendar].[Month].MEMBERS
       ,[Date].[Calendar Quarter of Year].&[CY Q3]
      )
    ) ON 1
FROM [Adventure Works];

因此,将以上内容调整到您的多维数据集可能如下所示:

SELECT 
  {[Measures].[In]} ON COLUMNS
 ,Except
  (
    [Date].[2014].[1] : [Date].[2016].[2]
   ,Exists
    (
      [Date].MEMBERS
     ,[Date].[Month].[2]
    )
  ) ON ROWS
FROM [Shop hourly];