年度收入 - 过去12个月完整SSAS mdx计算的收入总和

时间:2015-03-17 05:45:26

标签: mdx ssas-2008

我是MDX世界的新手,目前正在增强ssas cube。

我正在尝试在SSAS多维数据集中创建计算成员,以获得每个设备(产品)的年度化收入(过去12个月的收入总和)。作为在MDX查询下创建的开始,但它仅显示设备名称,Yearized Revenue显示(null)。

此MDX查询需要进行任何更正吗?或者欣赏,如果有人可以给我一个基于AdventureWorks立方体的例子。

这是我的MDX查询:

WITH 
  MEMBER [Measures].[Annualised Revenue] AS 
    Sum
    (
        ClosingPeriod
        (
          [Invoice Date].[Calendar Month].[Invoice Calendar Month]
         ,[Invoice Date].[Calendar Month].[All Periods]
        ).Lag(12)
      : 
        ClosingPeriod
        (
          [Invoice Date].[Calendar Month].[Invoice Calendar Month]
         ,[Invoice Date].[Calendar Month].[All Periods]
        )
     ,[Measures].[Amount]
    ) 
SELECT 
  [Measures].[Annualised Revenue] ON 0
 ,[Terminal].[Terminal ID].MEMBERS ON 1
FROM [cube_txn];

我是否需要将“cluase”添加到“where([发票日期]。[日历月]。[发票日历年]。& [2013])”

当它运行时,它应该将当前月份作为基础并计算最近12个月的修订

我期待如下结果(忽略jan14& Jan15):

deviceID    SumOfAnnualisedRevenue  Jan14   Jan15
---------   ----------------------  -----    ------
A10001      12,4500     5000   15000
A10003      45,50000    15000   78000
A10006      78,00       12000   890
A10008      8,945       450     120  

1 个答案:

答案 0 :(得分:0)

这有帮助吗?

WITH 
  MEMBER [Measures].[Annualised Revenue] AS 
    Sum
    (
        ClosingPeriod
        (
          [Invoice Date].[Calendar Month].[Invoice Calendar Month]
         ,[Invoice Date].[Calendar Month].[All Periods]
        ).Lag(12).item(0).item(0)
      : 
        ClosingPeriod
        (
          [Invoice Date].[Calendar Month].[Invoice Calendar Month]
         ,[Invoice Date].[Calendar Month].[All Periods]
        ).item(0).item(0)
     ,[Measures].[Amount]
    ) 
SELECT 
  [Measures].[Annualised Revenue] ON 0
 ,[Terminal].[Terminal ID].MEMBERS ON 1
FROM [cube_txn];

如果这是错误的[Terminal].[Terminal ID].MEMBERS,那么请尝试以下方法之一(我不能确定哪个会在没有看到你的数据库的情况下工作):

[Terminal].[Terminal ID].[Terminal ID].MEMBERS 
[Terminal].MEMBERS
[Terminal ID].[Terminal ID].MEMBERS