데이터 모델링의 모범 사례

이 섹션에서는 데이터의 구조와 달성하려는 데이터 모델에 따라 QlikView 문서에 데이터를 로드할 수 있는 다양한 방법에 대해 설명합니다.

일반적으로 문서에 데이터를 로드하는 방법은 추출, 변환, 로드 프로세스로 설명할 수 있습니다.

  1. 추출

    첫 번째 단계는 데이터 소스 시스템에서 데이터를 추출하는 것입니다. 스크립트에서 SELECT 또는 LOAD 문을 사용하여 이를 정의합니다. 이 두 문 사이의 차이점은 다음과 같습니다.

    • SELECT 문은 ODBC 데이터 소스 또는 OLE DB 공급자로부터 제공되는 데이터를 선택하는 데 사용됩니다. SELECT SQL 문은 QlikView가 아니라 데이터 공급자가 평가합니다.
    • LOAD 문은 파일, 스크립트에 정의된 데이터, 이전에 로드한 테이블, 웹 페이지, 이후 SELECT 문의 결과에서 또는 자동으로 데이터를 생성하여 데이터를 로드하는 데 사용됩니다.
  2. 변환

    변환 단계에는 스크립트 함수 및 규칙을 사용하여 데이터를 편집하고 원하는 데이터 모델 구조를 이끌어내는 작업이 포함됩니다. 일반적인 작업은 다음과 같습니다.

    • 새로운 값 계산
    • 코딩된 값 변환
    • 필드 이름 바꾸기
    • 테이블 조인
    • 값 집계
    • 피벗
    • 데이터 검증
  3. 로드

    최종 단계에서는 스크립트를 실행하여 정의한 데이터 모델을 문서에 로드합니다.

QlikView에서 데이터를 효율적으로 처리할 수 있는 데이터 모델을 만들려고 합니다. 일반적으로 이런 경우, 순환 참조 없이 적절히 정규화된 스타 스키마 또는 눈송이형 스키마, 즉 각 엔터티가 별도의 테이블에 보관되는 모델을 사용해야 합니다. 다시 말해, 일반적인 데이터 모델은 다음과 같습니다.

  • 측정값(단위 숫자, 판매 금액, 예산 등)을 계산하는 데 사용되는 숫자 및 차원에 대한 키가 포함된 중앙 팩트 테이블.
  • 해당하는 모든 특성(제품, 고객, 범주, 캘린더, 공급자 등)과 함께 차원이 포함된 주변 테이블.
참고: 많은 경우, 로드 스크립트에서 풍부한 데이터 모델을 구축하거나 차트 표현식에서 집계를 수행하여 집계 등의 작업을 처리할 수 있습니다. 대개는 로드 스크립트에서 데이터 변환을 수행하는 경우 더 나은 성능을 얻을 수 있습니다.
팁: 종이에 데이터 모델을 그려보는 것도 좋습니다. 그렇게 하면 추출할 데이터와 수행할 변환에 대한 구조를 파악하는 데 도움이 됩니다.

일반적으로 데이터 모델의 각 테이블은 SELECT 또는 LOAD 문 중 하나에 대응합니다. 이 두 문 사이의 차이점은 다음과 같습니다.

  • SELECT 문은 ODBC 데이터 소스 또는 OLE DB 공급자로부터 제공되는 데이터를 선택하는 데 사용됩니다. SELECT SQL 문은 QlikView가 아니라 데이터 공급자가 평가합니다.
  • LOAD 문은 파일, 스크립트에 정의된 데이터, 이전에 로드한 테이블, 웹 페이지, 이후 SELECT 문의 결과에서 또는 자동으로 데이터를 생성하여 데이터를 로드하는 데 사용됩니다.