汇总计算成员在特定时间内的平均值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇总计算成员在特定时间内的平均值相关的知识,希望对你有一定的参考价值。
快速信息
我有一个Microsoft SQL Server分析项目,我必须在过去20天的时间范围内汇总计算成员的平均值。我不知道如何解决这个问题。
是)我有的
我的计算成员看起来像:
CREATE MEMBER CURRENTCUBE.[Measures].[MyTotalSample]
AS [Measures].[ValueA]-[Measures].[ValueB]-[Measures].[ValueC],
VISIBLE = 1, ASSOCIATED_MEASURE_GROUP = 'MySamples';
此[MyTotalSample]成员与[时间]维度相关,因此我获得[时间] [日]的[MyTotalSample]。
结果如下表所示,例如“2017年1月27日”的值是“2017年1月27日”的所有[MyTotalSample]值的总和。
|---------------------------------|
|[Time].[Day] | MyTotalSample |
|---------------------------------|
|January 27 2017 | 221 |
|January 28 2017 | 303 |
|January 29 2017 | 298 |
|January 30 2017 | 238 |
|---------------------------------|
这到目前为止工作。
问题
但我想要做的还是[MyTotalSample]的每日平均值,在当天到过去20天的范围内。
要得到类似下表的内容,“2017年1月27日”的值是“MyTotalSample”的平均值,范围是“2017年1月27日”到“2017年1月8日”。
|------------------------------------|
|[Time].[Day] | MyTotalSample(Avg)|
|----------------|-------------------|
|January 27 2017 | 224 |
|January 28 2017 | 228 |
|January 29 2017 | 231 |
|January 30 2017 | 226 |
|------------------------------------|
什么是完美的是忽略空值...但现在不那么重要......
我希望有人有这方面的经验,并可以给我一个策略如何做到这一点......
谢谢你花时间
费利克斯
答案
我们在msdn找到了解决方案!
CREATE MEMBER CURRENTCUBE.[MEASURES].[MyTotalSample Moving Average]
AS Avg
(
{
[Time].[Hierarchy].CurrentMember.Lag(20)
:
[Time].[Hierarchy].CurrentMember
}
,
[Measures].[MyTotalSample]
),
VISIBLE = 1 , DISPLAY_FOLDER = 'MyDisplayFolder';
以上是关于汇总计算成员在特定时间内的平均值的主要内容,如果未能解决你的问题,请参考以下文章