2014-04-08 2 views
1

두 열을 서로 다른 차원의 두 개의 MDX 쿼리를 결합하고 싶습니다. 예 :다른 차원의 MDX 조합

Number of Sales/Product Type vs. Gender and State: 

     | CA | OR | WA | Male | Female 
------------------------------------------------ 
food | 125 | 343 | 130 | 570 | 459 
------------------------------------------------ 
drink | 123 | 465 | 135 | 678 | 343 

국가와 성별은 자신의 각각의 차원이고, 나는 다른 제품 유형 (음식, 음료)를 통해 일부 집단 (예를 들어 판매 수를.) 할 싶습니다. 다음은 이러한 쿼리가 다른 계층 구조를 가지고 있으므로 쿼리를 조인 할 수 없지만 어떻게 작동하는지에 대한 몇 가지 아이디어입니다. 이 결과의 기둥처럼 남성과 여성의 태클에 대해 어떻게 생각하나요?

SELECT 

    NON EMPTY 

    { [Store].[Store State].Members, [Gender].[Gender].Members } ON COLUMNS, 

    { [Product].[Product Family].Members } ON ROWS 

    FROM [Sales] 

WHERE { [Measures].[Sales Count] } 

예 오류 :
MondrianEvaluationException: Expressions must have the same hierarchy

효과적으로 MDX에서이 작업을 수행 할 수있는 방법이 있나요,? 그렇다면 각 열에 대해 특정 집계를 지정할 수 있습니다 (예 : 총 매출 별 집계 주 데이터, 수익 별 성별 데이터). 모든 축이 같은 차원이 있어야 MDX에서

답변

0

SELECT 
    {[Measures].[Internet Sales Amount]} ON 0 
,NON EMPTY 
    { 
     (
     [Customer].[Gender].[Gender].MEMBERS 
     ,[Customer].[Marital Status].[(All)] 
    ) 
    ,(
     [Customer].[Gender].[(All)] 
     ,[Customer].[Marital Status].[Marital Status].MEMBERS 
    ) 
    } ON 1 
FROM [Adventure Works]; 

필립 :

당신의 도움이

+0

명확한 답변을 보내 주셔서 감사합니다. 내 쿼리를 보완하고 다소 합리적인 결과를 얻고 있습니다. 그래서 CrossJoin() ing은 다른 차원에서 Union()이 될 수있는 형식으로 집합을 가져 오는 유일한 방법일까요? 이제 별도의 차원에서 다른 열을 추가하려면 유니온의 각 용어에서 세 집합을 모두 조인해야합니까? – Shrim

+0

@Shrim 네, 맞습니다. – FrankPl

0

다음은 몬드리안으로 작동하는지 모르겠어요 주셔서 감사합니다. 가장 좋은 방법은 두 개의 쿼리를 실행하고 클라이언트 도구에서 서로 옆에 표시하는 것입니다.

그러나이 제안 @Vhteghem_Ph 것과 비슷한 할 수있는 다음 +가 매개 변수로 두 세트를 가지고있는, 여기에 사용 된 것을

SELECT 

    NON EMPTY 

    [Store].[Store State].Members * { [Gender].[Gender].[(All Gender)] } 
    + 
    { [Store].[Store State].[(All Store State)] } * [Gender].[Gender].Members 
    ON COLUMNS, 

    { [Product].[Product Family].Members } ON ROWS 

    FROM [Sales] 

WHERE { [Measures].[Sales Count] } 

주, Union(set1, set2)의 짧은 형태이다. 다시 말해 Union은 두 세트가 동일한 차원을 필요로합니다.이 경우 집합의 첫 번째 차원은 Store States 계층이고 두 번째 차원은 Gender 계층입니다.

관련 문제