2

데이터가 관련된 사실을 어떻게 저장합니까? 측정 값을 어떻게 구성합니까? 예를 들어, 주문 상태를 변경 (주문, 배송, 환불)하는 주문의 수명주기를 추적하는 데이터웨어 하우스가 있습니다. '환불'과 같은 주에서는 항상 그런 것은 아닙니다. 따라서 내 모델에서는 트랜잭션 저장소 모델을 사용하므로 순서가 변경 될 때마다 사실 테이블의 다른 행이됩니다. 따라서 4 월에 배치되어 5 월에 환불 된 주문의 경우 두 개의 행이 있습니다. 하나는 주문 상태이고 다른 하나는 '환불'상태입니다. 따라서 사용자가 4 월에 주문/주문 된 모든 주문을보고 싶고 '주문'중 얼마나 많은 주문이 환불되었는지 알고 싶다면 어떻게 알 수 있습니까? 런타임에 실행할 MDX 쿼리입니까? 이것은 큐브에 저장할 수있는 계산 된 측정 값입니까? 내가 어떻게 그럴 수 있니? 내 생각 과정은 사용자가 피봇 테이블에서 사용할 수 있다는 사실입니다. 그러나 확실하지 않습니다 .....데이터웨어 하우스에서 트랜잭션주기 추적

답변

0

모델을 작성하는 한 가지 방법은 이벤트를 모델링하는 팩트가없는 사실 테이블을 만드는 것입니다. . ORDERS 팩트 테이블은 거래 금액, 고객 정보 등을 모델링합니다. 팩트가없는 사실 테이블 (ORDER_STATUS라고도 함)은 특정 주문과 관련하여 발생하는 모든 이벤트를 모델링합니다.

이 모델을 사용하면 팩트가없는 팩트 테이블에 레코드가 존재하는지 확인하여 주문 상태에 따라 모든 트랜잭션을 계산하거나 추가하는 것이 쉽습니다.

+0

세부 사항을 조금 더 추가 할 수 있습니까? 사실이 아닌 사실 테이블에 너무 익숙하지 않습니다. –

+0

Factless 테이블은 측정 된 사실이없는 차원 외래 키를 모델링합니다. 즉, 차원 키 간의 관계를 모델링합니다. 더 많은 것을 읽으십시오 [관련 예제와 함께] (http://www.kimballgroup.com/html/designtipsPDF/DesignTips2003/KimballDT50FactlessFact.pdf). – Datajam

+0

http://stackoverflow.com/questions/11114988/how-to-model-process-and-status-history-in-a-data-warehouse와 같이 이것이 어떻게 접근 할 수 있는지에 대한 다른 생각들이 있습니다. 나는 아직도 어떤 방향으로 나아갈 지 혼란 스럽다. – Franklin

관련 문제