1

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

4

1 回答 1

1

这是AVGMDXhttps ://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]那么你可以使用 lag 函数向后退 - 然后你可以使用冒号运算符创建一个范围。

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

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]
)
于 2018-02-10T12:32:21.867 回答