OBIEE – 차원 모델링

차원 모델링은 DW 설계에 사용되는 일련의 방법과 개념을 제공합니다. DW 컨설턴트 인 Ralph Kimball에 따르면 차원 모델링은 데이터웨어 하우스에서 최종 사용자 쿼리를 지원하기위한 데이터베이스의 설계 기술입니다. 이해 가능성과 성능을 중심으로합니다. 그에 따르면 트랜잭션 지향 ER은 트랜잭션 캡처에 매우 유용하지만 최종 사용자 전달에는 피해야합니다.

차원 모델링은 항상 팩트 및 차원 테이블을 사용합니다. 팩트는 팩트 값에 대해 집계 및 분석 할 수있는 숫자 값입니다. 차원은 팩트 값에 대한 계층 및 설명을 정의합니다.

치수 표

차원 테이블은 Fact 테이블의 개체를 설명하는 속성을 저장합니다. 차원 테이블에는 각 차원 행을 고유하게 식별하는 기본 키가 있습니다. 이 키는 차원 테이블을 팩트 테이블에 연결하는 데 사용됩니다.

차원 테이블은 트랜잭션을 실행하기 위해 생성되지 않고 데이터를 자세히 분석하는 데만 사용되므로 일반적으로 비정규 화됩니다.

다음 차원 테이블에서 고객 차원에는 일반적으로 고객 이름, 주소, 고객 ID, 성별, 소득 그룹, 교육 수준 등이 포함됩니다.

고객 ID 이름 성별 수입 교육 종교
1 브라이언 에지 미디엄 2 4
2 프레드 스미스 미디엄 5 1
샐리 존스 에프 1 7

사실 테이블

사실 테이블에는 측정이라고하는 숫자 값이 포함됩니다. 팩트 테이블에는 차원 테이블에 대한 팩트와 외래 키의 두 가지 유형의 열이 있습니다.

사실 테이블의 측정 값은 세 가지 유형입니다.

  • Additive − 모든 차원에 추가 할 수있는 측정 값.

  • Non-Additive − 어떤 차원에서도 추가 할 수없는 측정 값.

  • Semi-Additive − 일부 차원에 추가 할 수있는 측정 값.

시간 ID 제품 ID 고객 ID 판매 된 단위
4 17 2 1
8 21 2
8 4 1 1

이 팩트 테이블에는 시간 차원, 제품 차원, 고객 차원 및 판매 된 측정 값 단위에 대한 외래 키가 포함되어 있습니다.

회사가 고객에게 제품을 판매한다고 가정 해보십시오. 모든 판매는 회사 내에서 발생하는 사실이며 사실 테이블은 이러한 사실을 기록하는 데 사용됩니다.

일반적인 사실은 다음과 같습니다. 판매 된 단위 수, 마진, 판매 수익 등이 있습니다. 차원 테이블은 데이터를 분석하려는 고객, 시간, 제품 등과 같은 요소를 나열합니다.

이제 위의 사실 테이블과 고객 차원을 고려하면 제품 및 시간 차원도 있습니다. 이 팩트 테이블과이 3 차원 테이블이 주어지면 다음과 같은 질문을 할 수 있습니다. 2010 년에 남성 고객에게 얼마나 많은 시계가 판매 되었습니까?

차원과 사실 테이블의 차이점

차원 테이블과 팩트 테이블의 기능적 차이점은 팩트 테이블에는 분석하려는 데이터가 있고 차원 테이블에는 쿼리에 필요한 정보가 있다는 것입니다.

집계 테이블

집계 테이블에는 다른 집계 함수를 사용하여 계산할 수있는 집계 데이터가 포함되어 있습니다.

aggregate function 여러 행의 값이 특정 기준에 대한 입력으로 함께 그룹화되어 더 중요한 의미 또는 측정의 단일 값을 형성하는 함수입니다.

일반적인 집계 함수는 다음과 같습니다.

  • Average()
  • Count()
  • Maximum()
  • Median()
  • Minimum()
  • Mode()
  • Sum()

이러한 집계 테이블은 데이터웨어 하우스에서 복잡한 쿼리를 실행하기위한 성능 최적화에 사용됩니다.

연간 (1 행), 분기 별 (4 행), 월간 (12 행)과 같은 집계 데이터가있는 테이블을 저장하고 이제 연간 1 행만 처리되는 것처럼 데이터 비교를 수행해야합니다. 그러나 집계되지 않은 테이블에서는 모든 행이 처리됩니다.

주어진 열에서 가장 작은 값을 반환합니다.
MAX 주어진 열에서 가장 큰 값을 반환합니다.
합집합 주어진 열에있는 숫자 값의 합계를 반환합니다.
평균 주어진 열의 평균값을 반환합니다.
카운트 주어진 열의 총 값 수를 반환합니다.
COUNT (*) 테이블의 행 수를 반환합니다.

직함 = '개발자'인 직원에서 평균 (급여)을 선택합니다. 이 문은 직함이 '개발자'인 모든 직원의 평균 급여를 반환합니다.

집계는 데이터베이스 수준에서 적용 할 수 있습니다. 집계를 만들어 데이터베이스의 집계 테이블에 저장하거나 보고서 수준에서 즉시 집계를 적용 할 수 있습니다.

Note − 데이터베이스 수준에서 집계를 저장하면 시간이 절약되고 성능 최적화가 제공됩니다.