Sql server 平行周期和简单移动平均线的问题
我试图计算我正在检查的数据集之前一年的简单移动平均数 我有以下查询,从2016年第35周开始(Sql server 平行周期和简单移动平均线的问题,sql-server,ssas,mdx,Sql Server,Ssas,Mdx,我试图计算我正在检查的数据集之前一年的简单移动平均数 我有以下查询,从2016年第35周开始(201635)为2016 5a,2016 5b,2016 1学期开始的学生提供SMA WITH MEMBER [Measures].[LY Enrolments 10 Week SMA] AS ( [Measures].[Enrolments 10 Week SMA] ,ParallelPeriod ( [Term Record Crea
201635
)为2016 5a,2016 5b
,2016 1
学期开始的学生提供SMA
WITH
MEMBER [Measures].[LY Enrolments 10 Week SMA] AS
(
[Measures].[Enrolments 10 Week SMA]
,ParallelPeriod
(
[Term Record Creation].[ISO Week Calendar].[ISO Year]
,1
,[Term Record Creation].[ISO Week Calendar].[ISO Week].&[201535]
)
)
SELECT
NON EMPTY
{
[Measures].[Enrolments]
,[Measures].[Enrolments 10 Week SMA]
,[Measures].[LY Enrolments 10 Week SMA]
} ON COLUMNS
,NON EMPTY
{
[Term Enrolments].[Terms].[Term Hierarchy].&[2016]&[5a]
,[Term Enrolments].[Terms].[Term Hierarchy].&[2016]&[5b]
,[Term Enrolments].[Terms].[Term Hierarchy].&[2017]&[1]
} ON ROWS
FROM [Enrolments]
WHERE
(
[Term Enrolments].[Cancelled].&[No]
,[Term Record Creation].[ISO Week Calendar].[ISO Week].&[201635]
);
我还想将2015年第35周的SMA放在旁边,用于术语2015 5a
,2015 5b
,2016 1
。这是我试图在成员计算中得到的结果,但什么都没有发生
如何比较不同年份的SMA?如何与一年前的术语层次结构的成员进行比较
提前感谢您的帮助。请尝试更改此[Term Record Creation].[ISO Week Calendar].[ISO Week].[ISO Week].&[201535]
以获取此[Term Record Creation].[ISO Week Calendar].CURRENTMEMBER
希望CURRENTMEMBER
函数将选择WHERE
子句中指定的一周。我将尝试测试AdvWrks作为一个有点不确定
WITH
MEMBER [Measures].[LY Enrolments 10 Week SMA] AS
(
[Measures].[Enrolments 10 Week SMA]
,ParallelPeriod
(
[Term Record Creation].[ISO Week Calendar].[ISO Year]
,1
,[Term Record Creation].[ISO Week Calendar].CURRENTMEMBER
)
)
SELECT
NON EMPTY
{
[Measures].[Enrolments]
,[Measures].[Enrolments 10 Week SMA]
,[Measures].[LY Enrolments 10 Week SMA]
} ON COLUMNS
,NON EMPTY
{
[Term Enrolments].[Terms].[Term Hierarchy].&[2016]&[5a]
,[Term Enrolments].[Terms].[Term Hierarchy].&[2016]&[5b]
,[Term Enrolments].[Terms].[Term Hierarchy].&[2017]&[1]
} ON ROWS
FROM [Enrolments]
WHERE
(
[Term Enrolments].[Cancelled].&[No]
,[Term Record Creation].[ISO Week Calendar].[ISO Week].&[201635]
);
经过测试,这对我来说很好:
WITH
MEMBER [Measures].[Internet Sales Amount LY] AS
(
[Measures].[Internet Sales Amount]
,[Date].[Calendar Weeks].[Calendar Week].&[27]&[2007]
)
MEMBER [Measures].[Internet Sales Amount LY2] AS
(
[Measures].[Internet Sales Amount]
,ParallelPeriod
(
[Date].[Calendar Weeks].[Calendar Year]
,1
,[Date].[Calendar Weeks].CurrentMember
)
)
SELECT
NON EMPTY
{
[Measures].[Internet Sales Amount LY]
,[Measures].[Internet Sales Amount LY2]
,[Measures].[Internet Sales Amount]
} ON COLUMNS
,NON EMPTY
{
[Product].[Product Categories].[Category].[Accessories]
,[Product].[Product Categories].[Category].[Bikes]
,[Product].[Product Categories].[Category].[Clothing]
} ON ROWS
FROM [Adventure Works]
WHERE
[Date].[Calendar Weeks].[Calendar Week].&[27]&[2008];
结果如下:
不幸的是,这并没有解决我的问题。我的SMA度量仍然没有结果列。