2012-11-23 2 views
0

측정 값 Q와 일부 차원 D, F가있는 큐브 V가 있습니다. 차원에서 일부 공통 구성원을 공유하는 2 개의 계층 구조를 원할 경우 여기에 (2 계층 구조는 A와 T이며, 일반 회원은 M과 I) 위치 :여러 계층 구조가있는 차원에서 하나의 계층 구조 선택

select {[Measures].[Q]} ON COLUMNS, 
    {([F], [D].[A]} ON ROWS 
from [V] 

하지만 : 나는 A와 T 중 하나에 액세스하는 MDX 쿼리를 만드는 데 성공하지하려고 해요

-D 
    -A 
     +A 
     +M 
     +I 
    -T 
     +T 
     +M 
     +I 

몬드리안을 사용하여 JPivot에서 오류가 발생합니다.

몬드리안 오류 : MDX 개체 '[D]. [A]'이 (가) 큐브 'V'에 없습니다. 그래서 나는 둘 다 접근 할 수 없다.

이것은 MDX에서의 첫 번째 시도이기 때문에 큐브 구성이나 언어 이해에서 뭔가를 놓친 것 같습니다.

답변

2

일반적으로 참조하는 멤버가 차원에없는 경우 오류가 반환됩니다. 올바른 구문은 (따로 기본값) 특정 계층 구조를 참조 [Dimension.Hierarchy], 그래서를 A 계층 구조는 다음 일을해야 모든 멤버가 가정이

select {[Measures].[Q]} ON COLUMNS, 
    {([F], [D.A])} ON ROWS 
from [V] 

을 시도합니다.

편집 : 나는 당신이 몬드리안에서이 작업을 수행 할 수 있다고 생각하지만 시도 후에는 판명 할 수 있습니다 :의 조합을 방지 할 수

SELECT NON EMPTY {[Measures].[Q]} ON COLUMNS, 
    NON EMPTY CROSSJOIN([D.A].[Year].Members, [D.T].[Type].Members) ON ROWS 
FROM [V] 

비 EMPTY 기능 : 두 개의 계층 구조 '회원 crossjoining 시도 출력에 값이 표시되지 않는 A 및 T 계층 구조. 당신이 생각하기에, 이것은 실제로 당신이 Year에서 Type으로 드릴링하는 것을 허용하지 않을 것이고, 오히려 그들은 나란히 보여줄 것입니다.

+0

맞습니다.하지만 동일한 차원 멤버의 A 및 T 계층 구조에 어떻게 참여할 수 있습니까? – rano

+0

두 계층 구조를 결합한다는 것은 무엇을 의미합니까? 두 계층의 멤버를 동시에 표시 할 수 있습니까? 실제 이름과 출력에서 ​​기대하는 것을 모범으로 삼으십시오. –

+0

올바른 용어를 사용하지 못해서 죄송합니다.) 계층 A의 연도 -> 모델 -> ID 및 계층 T의 유형 -> 모델 -> ID가 있다고 가정합니다. 같은 mdx 차원 (즉 ROWS)을 사용하여 Type을 드릴하고 일부 모델을 얻은 다음 Year에서 드릴하고 다른 행이 아닌 같은 행에 값을 가져오고 싶습니다. 각 행은 특정 연도와 유형이있는 모델에 대한 나의 사실 측정 값을 집계합니다. – rano