2014-11-04 3 views
1

아이들과 필터 부모 : LEV2이 Lev1의 계층 자식MDX : 나는 다음과 같은 쿼리를 가지고

SELECT 
NON EMPTY { [Measures].[Mes] } ON COLUMNS, 
NON EMPTY { [Dim].[Lev1].Members, [Dim].[Lev2].Members } ON ROWS 
FROM [Cube] 

. 나에게 다음과 같은 결과를 제공 :

Lev1 | Lev2 | Mes 
_________________ 
yes | 1 | 1 
yes | 2 | 2 
no | 3 | 3 
no | 4 | 4 

편집 :

Dim  | Mes 
- yes | 3 
     1 | 1 
     2 | 2 
- no  | 7 
     3 | 3 
     4 | 4 

는 내가 원하는 것은 다음을 얻을 수 LEV2 = 2 LEV2 = 4 Lev1을 필터링하는 것입니다 : 어쩌면이보기가 더 관련이 결과 :

Lev1 | Mes 
___________ 
yes | 2 
no | 4 

이 경우에도 가능합니까?

저는 Mondran과 Olap4j를 사용하고 있습니다.

답변

0

난 그냥 일을 잘 수행하는 VisualTotals 기능을 발견 : 당신의 도움에 대한

SELECT 
NON EMPTY {[Measures].[Mt cheques]} ON COLUMNS, 
NON EMPTY VisualTotals (hierarchize({ 
    [Dim].[Lev1].Members, 
    [Dim].[yes].[2], 
    [Dim].[no].[4] 
)}) ON ROWS 
FROM [Cube] 

감사합니다!

1

Lev1Lev2은 속성 계층 구조 인 것으로 보입니다.

SELECT 
NON EMPTY { [Measures].[Mes] } ON COLUMNS, 
NON EMPTY { [Dim].[Lev1].Members } ON ROWS 
FROM [Cube] 
WHERE { [Dim].[Lev2].[2], [Dim].[Lev2].[4] } 
+0

Lev1과 Lev2는 각각 Dim 차원의 동일한 계층 구조의 부모와 자식입니다. 그래서 그들은 두 개의 다른 축에서 분리 될 수 없습니다. 그래서 집계와 "FakeDimension"을 사용해 보았지만 그 결과는 틀립니다 ([yes | 6]와 [no | 6]). 하지만 몬 드리 안의 버그일까요? – jBravo

+1

@pDupond 몬드리안에 대해서는 자세히 알지 못합니다. 그러나 Analysis Services에서'Lev1'과'Lev2'가 같은 계층 구조의 두 수준이라면 행 머리글에서 두 개의 개별 열로 다시 가져올 수 없지만 두 수준의 멤버가 혼합 된 한 열로 만 가져올 수는 있습니다. 큐브에서 이러한 수준을 기반으로하는 열의 특성 계층 구조가 있습니까? – FrankPl

+0

나의 설명이 좋지 않아 사과드립니다. 나는 나의 질문을 편집했다. 좀 더 관련성이 있기를 바랍니다. – jBravo

0

나는이 효과적으로 FrankPI 년대와 같은 생각 : (첫 번째 질의의 당신의 행 머리글의 두 개의 열을 구성하는 등)이이 분리 될 수있는 것처럼, 당신은 또한 행과 축 사이를 분할 할 수 있습니다 대답. 이 응용 프로그램에서 작동 할 수 있지만 :

SELECT 
NON EMPTY 
{ [Measures].[Mes] } 
ON COLUMNS, 
NON EMPTY 
EXISTS(
    { [Dim].[Lev1].Members } 
    , { [Dim].[Lev2].[2], [Dim].[Lev2].[4] } 
) 
ON ROWS 
FROM [Cube] 

을 어쩌면는 subselect

SELECT 
NON EMPTY 
{ [Measures].[Mes] } 
ON COLUMNS, 
NON EMPTY 
EXISTS(
    { [Dim].[Lev1].Members } 
    , { [Dim].[Lev2].[2], [Dim].[Lev2].[4] } 
) 
ON ROWS 
FROM 
(
    SELECT { [Dim].[Lev2].[2], [Dim].[Lev2].[4] } ON 0 
    FROM [Cube] 
) 
+0

나는 이것을 시도했다. 그리고 이것은 나에게 다음 결과를 줬다 : [yes | 3] [아니요 | 7]. 어쨌든 고맙습니다. – jBravo

+0

@pDupond - 'subselect'를 사용하여 또 다른 시도를 추가했습니다. 클라이언트가이 문제에 너무 만족하는지 확신 할 수 없습니다. – whytheq

+0

불행히도 몬드리안은 하위 쿼리를 지원하지 않으므로 솔루션을 시도 할 수 없습니다. – jBravo

관련 문제