3

일반적인 fact 및 dimensions 테이블이있는 SQL Server 2005 데이터 마트 스타 스키마가 있습니다. 이 배포되고 SSIS 기반 ETL 패키지를 통해 채워집니다. 지금까지 괜찮아.이미 '배포 후 채워지는'팩트 테이블에 열을 추가하는 방법은 무엇입니까?

나는 새로운 요구 조건으로 고객에게 방금 접근했다. 결코, 나는 당신이 말하는 것을 듣는다! 이 요구 사항은 재정적 인 인시던트 사실의 새로운 측면을 측정하기 위해 데이터 마트에 새로운 차원 테이블을 추가해야 함을 의미합니다.

이 새로운 차원으로 팩트를 '슬라이스'하려면 새 차원에 연결되는 팩트 테이블에 새 외래 키 열을 추가해야합니다.

이 작업을 수행하는 가장 좋은 방법은 확실하지 않습니다. 이미 캡처 된 데이터로 무엇을해야합니까? 그냥 새로운 컬럼을 null 가능하게 만들고 오래된 사실이 NULL을 가질 것이라고 받아들일까요? 실제로, 내가 타이핑하고있는 것에 따라, 나는 나에게 오래되었던 사실을 최신 정보로 알릴 수 있었다. 아니면 각각의 새로운 (부모) 사실에 대한 링크와 새로운 차원에 대한 링크를 포함하는 별도의 (자식?) 사실 테이블을 작성해야합니다.

이 유형의 변경에 대한 모범 사례 정보를 찾을 수 없었습니다.

도움을 주시면 감사하겠습니다.

그건 그렇고. 아직 Analysis Services가 사용되지 않았습니다.

감사합니다, 마틴

답변

7
  1. 는 새로운 차원 테이블을 추가합니다.

  2. 입력하십시오.

  3. 기존 사실에 nullable 참조를 추가하십시오.

    모든 사실을 새로운 차원에 조인 할 수있는 것은 아닙니다. 이것은 새로운 정보가있을 때 일반적입니다. 원본 파일이 모두있는 경우 모든 사실을 업데이트하는 데 필요한 모든 정보가있을 수 있습니다.

    모든 사실을 새 측정 기준에 매핑 할 수없는 경우 "N/A"행을 측정 기준에 추가하십시오. 때로는 사실에 대해 알고있는 것에 따라 여러 개의 N/A 행을 포함해야하는 좋은 이유가 있습니다.

  4. 사실을 모두 업데이트하여 올바른 치수 값 또는 특수 N/A 행 중 하나 인 새 치수를 참조하십시오.

이상적으로는 사실 테이블을 수정하여 해당 열을 null 허용 할 수 없게 만듭니다. 때로는 시간이 오래 걸리고 데이터를 내보내고 테이블을 재정의하고 데이터를 다시로드하는 것이 더 쉽습니다.

+0

이것은 꽤 포괄적입니다. –

+0

감사합니다. 이것은 아마도 내가 향하고 있었던 곳일 수 있지만, 이런 것들에 대해 온전한 판단을하는 것이 항상 좋다. 나는 BI가 가파른 학습 곡선을 가지고있는 것을 발견했습니다. 나는 다른 차원에서 N/A 열을 사용하고 있으며 Null이있는 것보다는이 방법을 선호합니다. 데이터를 내보내고 다시로드하라는 제안을 좋아합니다. 건배! – ChromaticRanger

+2

@Octoplasm : Null은 감각적 인 롤업 동작을 무력화하기 때문에 나쁜 것입니다. 결과 집합에서 "일종의 사라지다"행. 보고서가 디스플레이에서 사용자에게 걸러 내더라도 거의 항상 "기타"또는 "N/A"를 원합니다. –

2

글쎄요. S. 대부분의 답변, 나는 옛날 사실과 함께 할 일은 비즈니스 결정이라고 덧붙일 것입니다. 당신이 그들에게 물어보고 서면으로 그것을 얻을 수 있는지 확인하십시오.

1

S.Lott은 훌륭한 답변을 제공합니다. "아이"팩트 테이블에 대한 제안과 함께 사용하면 다른 팩트 테이블을 새로운 차원 및 다른 모든 차원이있는 "브리지 테이블"로 사용할 수 있습니다. 생각 해봐야 할 것입니다. 문제가 생기면 새로운 팩트 테이블 디자인을 이전과 동일하게 만들 수 있지만 null이 아닌 새로운 차원 (브리지 테이블의 유일한 비용은 어쨌든 사실).새 테이블에 적절하게 기록을 채우십시오 - 유효한 차원 또는 기록의 N/A 차원을 S.Lott이 제안한대로 연결하십시오. 그런 다음 새 데이터를 채우기 시작합니다. 돌아가서 Nullable을 Nullable로 변경할 필요가 없습니다. 그런 다음 오래된 사실 테이블을 사용하지 않거나 프리젠 테이션 레이어 뷰를 스왑 할 수 있습니다 (이 경우, 사실과 치수를 사용하여 아래에 많은 자유를 부여합니다).

관련 문제