2017-10-27 11 views
3

2008 년 데이터와 같은 큐브 MDX의 요구 사항을 작성 중이며 이전은 보고서에 표시하지 말아야합니다.SSAS MDX 예외 문문

그래서 SCOPE 문에서 MDX 'EXCEPT'함수를 사용하여 언급 된 연도를 제외 할 것을 고려했습니다.

시간 차원이 구조 년도와 계층 구조 -> 쿼터 -> 월

초기 코드는 2008 년에 대한 데이터를 배포 한 후 코드와

SCOPE([Measure Item].[Measure Item].&[SAL]); 
    SCOPE(EXCEPT({[Time].[Time].[Year]},{[Time].[Time].&[2006],[Time].[Time].&[2007],[Time].[Time].&[2008]}));  
    this=([Measure Item].[Measure Item].&[SAL]);  
    END SCOPE; 
END SCOPE; 

같았다 이전은 제외되었다. 하지만 여기서 문제는 각 연도의 총계에 대한 데이터 만 볼 수 있다는 것입니다. 아래 스크린 샷의 예를 참조하십시오. 분기 및 월 수준의 데이터를 볼 수 없습니다.

Not able to see data on quarter and month level

자손 SSMS에서 일하고 기능,하지만 때 SCOPE 문에 쓰기 그것의 작동하지 않습니다와

시도 몇 가지 다른 코드. SSMS로 작성

코드 : 심지어 분기 및 월 수준에서 데이터를 볼 수 있습니다

select [Measures].[Value] on 0, 
    EXCEPT({[Time].[Time].members} , 
    {descendants([Time].[Time].&[2006],0,SELF_AND_AFTER),descendants([Time].[Time].&[2007],0,SELF_AND_AFTER)}) on 1 from [TOPAS Reporting] 

Working in SSMS but not working in SCOPE statement

. 그러나 동일한 코드가 큐브 MDX의 SCOPE 문에서 작동하지 않습니다.

이 문제를 해결하고 더 자세한 정보를 알려주십시오.

미리 감사드립니다.

답변

0

정말 범위 계산서가 필요합니까?

다음과 같은 계산을 사용하여 달성 할 수

Aggregate(
     existing [Time].[Time].&[20090101]:NULL, 
     [Measure Item].&[SAL] 
) 

여기서 [시간] [시간].. & [20090101]는 오늘의 첫날입니다.