나는 Dimensions, FactPlaces, DimPeaces, DimPeaces와 관련된웨어 하우스 테이블을 설계했습니다. 보시면 간단합니다. 모든 위치는 DimPlaces (Addrline1, Addrline2, placename 등)에 있고 지리 계층 구조는 DimGeography (도시, 주, 국가, PostCode)에 있습니다. FactPlaces는 DimPlaces 및 DimGeography에 foriegn 키가있는 테이블입니다.SSAS - 차원 및 팩트 테이블 히스토리 데이터 - 차원 테이블로 팩트 테이블 매핑
장소 이름이나 속성이 변경 될 수 있고 장소의 위치가 변경된 후 지리적 계층 구조 키가 변경 될 가능성이 있으므로 이력 데이터를 유지하고 싶습니다.
내가 찾은 디자인 패턴 -
또 다른 유용한 디자인 패턴은 차원의 대용 키에 추가하여 사실 테이블에 내구성 계정 키를 추가하는 것입니다. 이는 차원의 현재 행에 다시 조인되어 현재의 차원 특성별로 모든 기록을보다 쉽게보고 할 수있게합니다.
이 솔루션을 따르는 것이 좋습니다. 그렇다면 UNIQUEIDTITIER 유형의 KEY를 고유 한 값으로 사용해야합니까?
또 다른 질문 - 직원 데이터 (DimEmployee 및 FactEmployee)가 있습니다. 각 직원은 그가 일하는 곳과 관련이 있습니다. 이 직원들과 장소 테이블을 연결하는 방법. FACTEMPLOYEE와 FACTPLACES를 연결해야합니까?
감사합니다. uniqueidentifier가 매우 넓다는 것에 동의합니다. 신원 열 이외의 businesskey 열에서 고유 ID를 얻는 다른 방법은 무엇입니까? 나는 그것에 고심하고있다. –
@ChrisChris, 차원에 대리 키가 있습니다. 이것은 차원 테이블의 ID입니다. 비즈니스 키는 원본 테이블의 ID이므로 테이블이 DimProduct 인 경우 비즈니스 키는 원본 데이터베이스에서 Product 테이블의 Identity 열일 가능성이 큽니다. 차원 테이블 원본에 기본 키가 없습니까? – Meff