2017-02-17 2 views
0

"2006 Quarter 1"의 [paid amt]과 "2005 Quarter 1"의 ParallelPeriod을 선택하고 싶습니다. 내 쿼리는 다음과 같습니다 :MDX ParallelPeriod CurrentMember

WITH 

MEMBER [Measures].[ParallelPeriod Qtr] AS 
PARALLELPERIOD([Svc Date].[Svc Date].[Svc Qtr], 4, [Svc Date].[Svc Date].CURRENTMEMBER) 

SELECT 
NON EMPTY 
{ [Measures].[Pd Amt], [Measures].[ParallelPeriod Qtr] } 
ON COLUMNS, 
NON EMPTY 
{ 
[Svc Date].[Svc Date].[Svc Qtr].&[20061] 
} 
ON ROWS 

FROM [health costings model] 

그러나 [Measures].[ParallelPeriod Qtr]는 값을 반환하지 않습니다.

누군가 내 MDX 쿼리에 문제가 있다는 것을 알고 있습니까? 또는 기간 차이에 따른 기간을 생성하는 다른 방법이 있습니다. 고마워요!

답변

2

올해의 수준을 사용하고 전년도의 4 분의 1을 찾아야한다고 생각합니까?

다음 중 아무 것도 반환하지 않습니까? 원래 그냥 .LAG(4)를 사용하여 시도 할 수뿐만 아니라 기능 PARALLELPERIOD 귀찮게하지 않을 수 있습니다 당신이 무엇을하고 있는지의 관점에서

SELECT 
    NON EMPTY { [Measures].[Pd Amt], [Measures].[ParallelPeriod Qtr] } ON COLUMNS, 
    NON EMPTY 
    PARALLELPERIOD( 
     [Svc Date].[Svc Date].[Svc Year] 
    , 1 
    , [Svc Date].[Svc Date].[Svc Qtr].&[20061] 
    ) 
    ON ROWS 
FROM [health costings model]; 

.

WITH 
MEMBER [Measures].[ParallelPeriod Qtr] AS 
    (
    [Svc Date].[Svc Date].CURRENTMEMBER.LAG(4) 
    ,[Measures].[Pd Amt] 
    ) 
SELECT 
    NON EMPTY 
     { [Measures].[Pd Amt] 
     , [Measures].[ParallelPeriod Qtr] } ON 0, 
    NON EMPTY 
    [Svc Date].[Svc Date].[Svc Qtr].&[20061] 
    ON 1 
FROM [health costings model]; 
: 당신은 우리가 튜플에 위를 사용할 수있는 WITH 절을 continus하려는 경우

SELECT 
    NON EMPTY { [Measures].[Pd Amt], [Measures].[ParallelPeriod Qtr] } ON COLUMNS, 
    NON EMPTY 
    [Svc Date].[Svc Date].[Svc Qtr].&[20061].LAG(4) 
    ON ROWS 
FROM [health costings model]; 

: 그래서 아마로 단순화됩니다