使用 MDX 的前几个月销售额总和

Sum of Previous months Sales with MDX

下面的查询没问题。

With Member PyMonthSales as
    SUM(PARALLELPERIOD([Date].[Calendar].[Month], 1),[Measures].[Internet Sales Amount])    

select 
{PyMonthSales} on Columns,
[Date].[Calendar].[Month] on Rows
FROM
(
Select {
[Date].[Calendar].[Month].&[2006]&[5], [Date].[Calendar].[Month].&[2006]&[4]
} on Columns
From    [Adventure Works]
)

但我只想要一个总计。所以我删除了上面查询中的行

With Member PyMonthSales as
    SUM(PARALLELPERIOD([Date].[Calendar].[Month], 1),[Measures].[Internet Sales Amount])    

select 
{PyMonthSales} on Columns
FROM
(
Select {
[Date].[Calendar].[Month].&[2006]&[5], [Date].[Calendar].[Month].&[2006]&[4]
} on Columns
From    [Adventure Works]
)

这就是问题开始的地方。 Returns 空。任何帮助都会很棒。 谢谢你的时间。

纳兹

最后有点乱!!

WITH 
  MEMBER [Measures].x AS 
    Aggregate
    (
      Generate
      (
        {
          [Date].[Calendar].[Month].&[2006]&[5]
         ,[Date].[Calendar].[Month].&[2006]&[4]
        }
       ,{
          ParallelPeriod
          (
            [Date].[Calendar].[Month]
           ,1
           ,[Date].[Calendar].CurrentMember
          )
        }
      )
     ,[Measures].[Internet Sales Amount]
    ) 
SELECT 
  x ON 0
FROM [Adventure Works];

我一直忘记的是 ParallelPeriod 部分周围的大括号 - 没有这些就会引发异常,因为 Generate 总是需要 SET 作为它的第二个参数。