Ssas MDX-提取最近24小时的数据

Ssas MDX-提取最近24小时的数据,ssas,mdx,Ssas,Mdx,我需要从多维数据集中提取最近24小时的数据。下面是我编写的MDX,但它不会根据当前时间系统时间返回数据 SELECT [Date].[Calender-Year_Quarter_Month_Date].[Date] ON ROWS ,{[Measures].[Delay In Mintues]} ON COLUMNS FROM ( SELECT { StrToMember ("[Date].[Calender-Year_Quar

我需要从多维数据集中提取最近24小时的数据。下面是我编写的MDX,但它不会根据当前时间系统时间返回数据

SELECT 
  [Date].[Calender-Year_Quarter_Month_Date].[Date] ON ROWS
 ,{[Measures].[Delay In Mintues]} ON COLUMNS
FROM 
(
  SELECT 
      {
          StrToMember
          ("[Date].[Calender-Year_Quarter_Month_Date].[Date].&["
              + 
                Format
                (
                  Now() - 1
                 ,'yyyyMMdd'
                )
            + "]"
          )
        * 
          (
            [Time].[Time-Hour_Time].[Hour].&["+FORMAT(NOW(),"HH")+"]
          : 
            [Time].[Time-Hour_Time].[Hour].&[23].&[23:59]
          )
      }
    + 
      {
          StrToMember
          ("[Date].[Calender-Year_Quarter_Month_Date].[Date].&["
              + 
                Format
                (
                  Now()
                 ,'yyyyMMdd'
                )
            + "]"
          )
        * 
          (
            [Time].[Time-Hour_Time].[Hour].&[0].&[00:00]
          : 
            [Time].[Time-Hour_Time].[Hour].&["+FORMAT(NOW(),"HH")+"]
          )
      } ON COLUMNS
  FROM [Delay Reasons]
);
注:未经测试

这行吗

SELECT 
  [Date].[Calender-Year_Quarter_Month_Date].[Date] ON ROWS
 ,{[Measures].[Delay In Mintues]} ON COLUMNS
FROM [Delay Reasons]
WHERE 
    {
        StrToMember
        ("[Date].[Calender-Year_Quarter_Month_Date].[Date].&["
            + 
              Format
              (
                Now() - 1
               ,'yyyyMMdd'
              )
          + "]"
        )
      * 
        (
          [Time].[Time-Hour_Time].[Hour].&["+FORMAT(NOW(),"HH")+"]
        : 
          [Time].[Time-Hour_Time].[Hour].&[23].&[23:59]
        )
    }
  + 
    {
        StrToMember
        ("[Date].[Calender-Year_Quarter_Month_Date].[Date].&["
            + 
              Format
              (
                Now()
               ,'yyyyMMdd'
              )
          + "]"
        )
      * 
        (
          [Time].[Time-Hour_Time].[Hour].&[0].&[00:00]
        : 
          StrToMember
          (
            "[Time].[Time-Hour_Time].[Hour].&[" + Format(Now(),"HH") + "].&[00:00]"
          )
        )
    };

为什么使用子查询而不是WHERE子句?在每个范围的末尾是否需要&[00:00]?