mdx 查询计算日期范围之间的平均值
mdx query to calculate average between date range
我希望得到一些帮助来计算日期范围之间的平均值。开始日期将是时间维度,结束日期 = 开始日期 - 13。或者我们可以使用 iff 语句计算日期范围内的平均值吗?
这是MDX
中的AVG
:https://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]
)
我希望得到一些帮助来计算日期范围之间的平均值。开始日期将是时间维度,结束日期 = 开始日期 - 13。或者我们可以使用 iff 语句计算日期范围内的平均值吗?
这是MDX
中的AVG
:https://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]
)