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

时间:2016-11-21 18:40:05

标签: 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]
)

这是问题的开始。返回null。任何援助都会很棒。 谢谢你的时间。

纳兹

1 个答案:

答案 0 :(得分:0)

结果有点乱!

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作为第二个参数。