mdx查询计算日期范围之间的平均值

时间:2018-02-09 17:31:37

标签: ssas mdx ssas-2008 ssas-2012 mdx-query

我希望得到一些帮助来计算日期范围之间的平均值。开始日期将是时间维度和结束日期=开始日期 - 13.或者有没有办法我们可以使用iff语句来计算日期范围的平均值?

1 个答案:

答案 0 :(得分:0)

这是AVG中的MDXhttps://docs.microsoft.com/en-us/sql/mdx/avg-mdx

函数签名是这样的:

Avg( Set_Expression [ , Numeric_Expression ] )  

因此Set_Expression将是日期,可选的Numeric_Expression可以说是一种度量。

如果你有一个特定的日期,例如[Ship Date].[Date].[Date].[10 Feb 2018],那么你可以使用滞后函数向后 - 然后你可以使用冒号运算符创建一个范围。

因此,您可能会得到这样的表达式:

AVG(
   [Ship Date].[Date].[Date].[10 Feb 2018].lag(13)
 : [Ship Date].[Date].[Date].[10 Feb 2018]
 ,[Measures].[Revenue]
)

所以上面不是那么动态但是如果层次结构[Ship Date].[Date].[Date]是ON ROWS那么你可以使用CURRENTMEMBER函数:

AVG(
   [Ship Date].[Date].CURRENTMEMBER.lag(13)
 : [Ship Date].[Date].CURRENTMEMBER
 ,[Measures].[Revenue]
)