2013-05-03 2 views
1

FactSales라는 측정 값이있는 큐브가 있습니다.이 계수에는 매일 항목이 있습니다.SSAS 계산 된 구성원

세 가지 차원, 고객, 고객 유형이 있습니다.

각 FactSales 행은 외래 키로 날짜와 고객에 연결됩니다. 고객은 외래 키를 사용하여 고객 유형에 연결됩니다.

이렇게 각 날짜마다 각 고객에 대한 모든 판매 수치를 뱉어 낼 수 있습니다.

여러 유형이 있습니다 : typeA, typeB, typeC, typeD, typeE.

내가 원하는 것은 각 고객별로 typeA 및 그 다음 다른 유형별로 집계 된 값을 갖는 두 개의 계산 된 멤버를 만드는 것입니다.

는 내가 지금 가지고하는 것은

Case 
    When IsEmpty([Measures].[FactSales]) or [Customer].[CustomerType].currentmember <> [Customer].[CustomerType].&[typeA] 
    Then null 
    ELSE ([Customer].[CustomerType].&[typeA], [Measures].[FactSales]) 
END 

같은 것입니다하지만 난이 잘못 생각하고 내가 또한 TYPEA을 제외한 다른 모든 유형의 값을 얻기 위해이 같은 방법을 사용할 수 없습니다. 나는 또한 상위 레벨로 롤업 할 때 집계를 얻지 못한다.

아무도 도와 줄 수 있습니까? 내 자신을 충분히 설명하지 못했을 수도 있으므로 더 많은 정보가 필요하면 알려 주시기 바랍니다.

답변

1

왜 그렇게하려고합니까? 하나의 사실과 관련이없는 계산을 저장하는 것은 좋지 않습니다. 사실 테이블 행의 데이터는 하나의 시스템 사실 (오더, 작업 등)에만 해당되어야하며 집계를 사용하면 모든 차원을 기반으로 데이터를 얻을 수 있습니다. 현재 구조가 잘되어 있으므로 고객 유형 차원에서 큐브를 분할하여 계산을 쉽게 얻을 수 있습니다.

관련 문제