ParrellPeriod 没有返回我所期望的
ParrellPeriod not returning what I expect
我在名为 "Target" 的度量和名为 DimCalendar
的日期维度中设定了年度销售目标。
查看基础数据,我想我应该得到一个不同于以下查询的值 returns。据我了解,此查询将获取 "Target" 度量值,其中关联年份为 2016 年(未来一年或 -1)和特定帐户。
SELECT
{[Measures].[Target]} on columns,
{ParallelPeriod(
[DimCalendar].[Year].[Year]
,-1
,[DimCalendar].[Year].&[2015])} on rows
FROM [MySalesCube]
WHERE { [Account].[Account].&[2025] }
这个查询returns
1944768
然而,基础数据加起来似乎只有162064
没有,看来是用魔方浏览器后数据还是有问题。必须重新审视我的 ETL 过程。
这是您指定的:
ParallelPeriod(
[DimCalendar].[Year].[Year]
,-1
,[DimCalendar].[Year].&[2015])
意思如下:
Take the year 2015
Then jump the specified number of periods, in your case -1, using the level specified, in your case [Year]
以下应该(我认为)是一个简化但等效的版本 - 如果第一个参数被遗漏,那么它只使用第三个参数的级别:
ParallelPeriod(
-1
,[DimCalendar].[Year].&[2015])
尽管我认为您可以使用 lag
使所有内容更具可读性:
[DimCalendar].[Year].&[2015].LAG(-1)
然后在延迟内使用 1 或 -1 是没有意义的,因为我们有函数 NEXTMEMBER
和 prevMEMBER
这可以简化为以下内容:
[DimCalendar].[Year].&[2015].NEXTMEMBER
我在名为 "Target" 的度量和名为 DimCalendar
的日期维度中设定了年度销售目标。
查看基础数据,我想我应该得到一个不同于以下查询的值 returns。据我了解,此查询将获取 "Target" 度量值,其中关联年份为 2016 年(未来一年或 -1)和特定帐户。
SELECT
{[Measures].[Target]} on columns,
{ParallelPeriod(
[DimCalendar].[Year].[Year]
,-1
,[DimCalendar].[Year].&[2015])} on rows
FROM [MySalesCube]
WHERE { [Account].[Account].&[2025] }
这个查询returns
1944768
然而,基础数据加起来似乎只有162064
没有,看来是用魔方浏览器后数据还是有问题。必须重新审视我的 ETL 过程。
这是您指定的:
ParallelPeriod(
[DimCalendar].[Year].[Year]
,-1
,[DimCalendar].[Year].&[2015])
意思如下:
Take the year 2015
Then jump the specified number of periods, in your case -1, using the level specified, in your case [Year]
以下应该(我认为)是一个简化但等效的版本 - 如果第一个参数被遗漏,那么它只使用第三个参数的级别:
ParallelPeriod(
-1
,[DimCalendar].[Year].&[2015])
尽管我认为您可以使用 lag
使所有内容更具可读性:
[DimCalendar].[Year].&[2015].LAG(-1)
然后在延迟内使用 1 或 -1 是没有意义的,因为我们有函数 NEXTMEMBER
和 prevMEMBER
这可以简化为以下内容:
[DimCalendar].[Year].&[2015].NEXTMEMBER