2009-12-02 3 views
1

다음 답변을보고 범위를 필터로 바꾸려고했습니다.MDX 필터로 범위 바꾸기

MDX - Concurrent calculations based on a "record time range"?

MDX는 다음과 같습니다

with member [Measures].[TotalUsed] as sum(FILTER([Date].[YQM], [Date].[YQM] < [Date].[YQM].&[20090907]), [Measures].[Used]) 
select {[Measures].[Total Used]}oncolumns, 
      {[Color].[Colors].[All].MEMBERS}on rows 
from [Cube] 

에서 찾고 조건문은 무엇 :이 같은 필터를 사용하여 날짜 범위를 대체하기 위해 노력하고있어

with member [Measures].[TotalUsed] as sum({[Date].[YQM].&[20090501]:[Date].[YQM].&[20090907]}, [Measures].[Used]) 
select {[Measures].[Total Used]}on columns,  
      {[Color].[Colors].[All].MEMBERS}on rows 
from [Cube] 

가치를 비교하는 용어? 어떤 도움이 좋을까요!

감사합니다.

답변

1

Filter 문에는 SET을 사용하고 다음에 EXPRESSION이 필요합니다. 이 함수를 SUM 함수 내에 놓을 수 있습니다. 필터의 표현 부분은 거의 모든 것이 될 수 있지만 SET의 각 셀에 대해 참/거짓으로 구분해야합니다.

- 필터 (SET, EXPRESSION)

그것은 당신의 데이터가 같은 구조로되어 있지만 한 Statment 아마 미만 50 '하지 않는'와 행을 필터링, 다음과 같은 끝낼 것입니다 무슨 모르는 어려운 약간의 당신의 그런 다음 예제로 요약 해 봅니다.

`

WITH MEMBER [Measures].[TotalUsed] 
AS SUM (FILTER ([Date].[YQM].members, [Measures].[UnUsed] > 50), 
        [Measures].[Used]) 

SELECT {[Measures].[Total Used]} ON COLUMNS,   
{[Color].[Colors].[All].MEMBERS} ON ROWS 
FROM [Cube]