处理时间:PeriodsToDate、LastPeriods、ParallelPeriod
1 PeriodsToDate(level, member)
在指定的级别内,返回级别第一个到指定成员间的所有成员,例:
select
{
[Measures].[In Count]
}on 0,
periodsToDate(
[Date].[年-月-日].[YearNum],
//[Date].[年-月-日].[YearNum].&[2016].&[8]
[Date].[年-月-日].[YearNum].&[2016].&[1].&[5]
)on 1
from
[Park]
上面分别返回的是[Date].[年-月-日].[Year Num]层次结构下的(2016-01到201608)的月成员和(2016-01-01到2016-01-05)的日成员
2 LastPeriods(n, member)
返回前、后最近的n个成员(包括自身在内)
n>0时,返回member及前n-1个成员
n<0时,返回member及后n-1个成员
例:
select
{
[Measures].[In Count]
}on 0,
lastPeriods(
-3,
//3,
[Date].[年-月-日].[YearNum].&[2016].&[8]
)on 1
from
[Park]
比较正常的和注释的返回的结果
3 ParallelPeriod(level [, n [,member]])
返回与指定成员【member】的指定层级【level】的祖先距离n个位置的兄弟祖先下的与指定成员相同的相对位置的成员
说起来很复杂,看例子吧:
with
member [parallelPeriod]as
parallelPeriod(
[Date].[年-月-日].[YearNum],
-3,
//3,
[Date].[年-月-日].currentMember
).uniqueName
select
{
[Measures].[In Count],
[parallelPeriod]
}on 0,
[Date].[年-月-日].[Month NumOf Year].members on 1
from
[Park]
where
[Date].[Year Num].&[2016]