2013-06-26 2 views
2

결과를 차원 값과 날짜 범위로 제한하는 mdx 쿼리를 작성해야합니다. 하나 또는 다른 방법을 알고 있지만 한 번에 두 가지 방법을 알아낼 수는 없습니다.날짜 범위와 차원 멤버 값으로 모두 조각난 mdx 쿼리를 작성하는 방법

이 기간에 대한 작동합니다

SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS 
FROM [cube] 
WHERE {[Date].[Date ISO].[2013-01-26]:[Date].[Date ISO].[2013-06-25]} 

그리고이 멤버 슬라이서 작동 :

SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS 
FROM [cube] 
WHERE [Time Type].[Allocation Type].[Direct] 

가 어떻게이 두 가지로 결과를 제한 할 WHERE 동시에 절 값 ?

SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS 
FROM [cube] 
WHERE ([Time Type].[Allocation Type].[Direct], 
    {[Date].[Date ISO].[2013-01-26]:[Date].[Date ISO].[2013-06-25]}) 

하지만, 몬드리안과 함께 응답 : 나는 WHERE과 같이 같은 그들 모두를 넣어 시도했습니다 함수가 서명과 일치하지 않습니다 (,).

몬드리안은 서브 쿼리를 지원하지 않거나 그렇게 할 것입니다.

회원 제한을 위해 내 행에 필터 함수를 사용해야한다고 생각하지만 표시하고 싶지 않은 항목을 필터링해야합니다. 그 방법은 잘 모릅니다.

답변

0

나는 crossjoin 그래서 같은 대답은 생각 :

SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS 
FROM [cube] 
WHERE CROSSJOIN([Time Type].[Allocation Type].[Direct], 
    {[Date].[Date ISO].[2013-01-26]:[Date].[Date ISO].[2013-06-25]}) 

CROSSJOIN가 튜플로 내 범위에있는 모든 '직접'멤버의 조합 및 날짜를 ​​만들어 내 WHERE 슬라이서 나는이 권리라고 생각합니다. 답변.