이 단원에서는 데이터를 추출하여 변환하고, 데이터 웨어하우스로
데이터를 로드하기 위해 기존 Data Manager 빌드를 사용자 정의하는 방법에 대해
설명합니다.
전제조건: - 단원 1.1을 완료해야 합니다.
- ETL 카탈로그에 대한 비어 있는 새 데이터베이스를 작성했습니다. 데이터베이스를 작성하려면
데이터 웨어하우스를 호스트하는 데 사용하는 데이터베이스의 제품 문서를
참조하십시오.
단원 1.1에서는 새 속성을 데이터 테이블에 추가하여 Rational® ClearQuest®
데이터 구성 파일을 수정했습니다. 이제 이러한 속성을
빌드 스트림에 입력하여 보고서에 노출해야 합니다.
이
단원에서는 새 속성이 데이터 콜렉션 프로세스를 입력하도록 Data Manager
빌드를 수정합니다. 또한 새 속성을 추출하고 변환하여 이러한 속성을
데이터 웨어하우스로 전달하도록 기존 빌드를 사용자 정의하는 방법에 대해
설명합니다.
ETL 카탈로그 준비- IBM® Cognos® Data
Manager를 시작하십시오.
- 새 카탈로그 작성을 선택하여 이름을
RationalInsightETL로 지정하고, 이 단원을 시작하기 전에 작성한 비어 있는
새 데이터베이스의 연결 정보를 지정한 후 완료를 누르십시오.
- 새 카탈로그가 작성되면 을 누르고 OOTBDMCatalog.ctg
파일을 선택하십시오. [rational_insight_installation_directory]/datamgr/insight_catalog/ 디렉토리가 이 파일의 기본 위치입니다.
데이터 원본에서 새 속성 추출- 폴더를 펼치십시오. CQ_ENT_Defect을 누르십시오.
개념: Data Manager에서 ETL은 팩트 또는 차원 빌드에 지정됩니다.
팩트 빌드는 팩트 데이터를 전달하고 차원 데이터도 전달할 수 있으므로
사용자는 단일 빌드 내에서 개인용 데이터 마트를 구성할 수 있습니다. 차원 빌드는
제품이나 고객과 같은 단일 비즈니스 차원에 대해 설명하기 위한 데이터를
전달합니다. Rational Insight는
팩트 빌드를 활용하여 데이터를 통합 작업 데이터 스토어에 로드합니다.
팩트 및 차원 빌드는 데이터 마트나 스타 스키마를
빌드하는 데 사용됩니다. 빌드는 Data Manager에서 시퀀스나 병렬로 실행할 수 있는
일련의 단계로서 작업 스트림으로 구성됩니다.
- RI_Stg 데이터 소스 아이콘을 두 번 누르십시오.
조회 탭을 누르십시오.
개념: 빌드의 데이터 원본 요소를 사용하여 빌드에 필요한 데이터베이스의
서브세트를 선택할 수 있습니다.
단원 1.1에서는 관련 컴포넌트 ID 및 상태 속성을 표시하도록 ClearQuest
결함 엔티티를 수정했습니다. 다음 몇 단계에서는 새 속성을 포함하도록
데이터 원본 조회를 수정합니다.
- ClearQuest 노드를 펼쳐서 데이터베이스 스키마의
목록을 표시하십시오(XML 데이터 구성을 통해 자원 그룹으로 모델화됨). CQEnterprise
스키마를 펼쳐서 단원 1.1에서 데이터 구성 파일의 CQEnterprise 자원 그룹에 정의된
모든 데이터 테이블의 목록을 표시하십시오. ENTDefect 테이블을 펼쳐서 정의된 모든 열을 표시하십시오.
component_dbid 및 상태 열을 검색하도록 기존 SQL을 수정합니다. 쉼표를 추가하여
열 이름을 구분했는지 확인하십시오.
- ENTDefect 열 상태 및 Component_dbid를 왼쪽에 있는 패널에서 오른쪽에 있는
SQL 조회 패널로 끌어서 기존의 "href" 항목 뒤에
새 열을 놓으십시오. 열이 쉼표로 구분되는지 확인하십시오.
- 새 SQL 문을 테스트하려면 창의 왼쪽 하단에 있는 을 누르십시오.
변수를 지정하는 창에서 $RESOURCEGROUP 항목에 스키마 이름(CQEnterprise)을
입력하십시오. 데이터 서비스가 모든 레코드를 리턴하는 데 널값을 사용하도록
$MODIFIED_SINCE 필드를 비워 두십시오.
- 결과 열 탭을 누른 후 새로 고치기를 누르십시오.
변수를 지정하는 창에서 $RESOURCEGROUP 항목에 스키마 이름(CQEnterprise)을
입력하십시오. 데이터 서비스가 모든 레코드를
리턴하는 데 널값을 사용하도록 $MODIFIED_SINCE 필드를 비워 두십시오. 이 탭에
정의된 열은 7단계에 정의된 SQL의 결과 열입니다. 이 열은 다운스트림 오브젝트에서
사용됩니다. 확인을 누르십시오.
- 데이터 스트림을 마우스 오른쪽 단추로 누르고 특성을 선택하십시오.
데이터 스트림 항목 탭에서 왼쪽 패널에 있는 새 열을 두 번 눌러
데이터 스트림에 추가하고 확인을 누르십시오.
개념: 데이터 스트림 오브젝트는 빌드 또는 참조 구조가 데이터를 확보하는
모든 데이터 원본을 수집합니다. 이러한 메소드를 통해 서로 다른 데이터 원본을
하나의 오브젝트에 결합할 수 있습니다. 이러한 예는 RequisitePro® 빌드에서 확인할 수 있습니다.
새로운 한 행이 카탈로그에 추가되고 변환 모델이 갱신되어 이 변경사항이
적용됩니다.
다음 단계에서는 데이터 웨어하우스에서 component_dbid 속성을 컴포넌트의
대리 키로 변환합니다.
속성
변환- 변환 모델 아이콘 을 누르고 맵핑 페이지를 여십시오.
개념: 변환 모델은 팩트 빌드의 핵심입니다. 이를 사용하면 서로 다른 소스에서 데이터를
병합하거나 데이터를 집계하는 등 다양한 방식으로 획득한 소스 데이터를 조정할 수
있습니다. 이 단원에서는 비즈니스 규칙을 적용하지 않고 새 속성을 로드합니다.
- 상태 데이터 스트림을 두 번 누르십시오.
개념: 변환 모델에
새 속성을 작성하고 데이터 스트림 항목을 해당 속성에
맵핑합니다.
- 추가를 누르고 차원을 누른 후
이름을 Lookup_Component로 지정하고 (참조 없음)
하위 노드를 선택하십시오. 이 노드의 오른쪽에 있는 단추를 누르십시오.
-
노드를 선택하고 확인을 누르십시오.
- 맵핑 창으로 돌아가십시오. 왼쪽 패널에서 Component_dbid
데이터 스트림 항목을 선택하고, 오른쪽 패널에서 Lookup_Component=>EXTERNAL_KEY1
속성을 선택한 후 맵핑을 누르십시오.
개념: 다음 몇 단계에서는
데이터 웨어하우스에 있는 결함과 컴포넌트 간의 관계를
빌드합니다. EXTERNAL_KEY1은 컴포넌트에 대한 자연 키(Rational ClearQuest의
dbid)를 지정합니다. 컴포넌트가 데이터 웨어하우스에 있는 경우,
찾아보기는 대리 키를 리턴합니다.
레코드가 없는 경우, 빌드는 "해당 정보가 없음"을 나타내는 기본값 -1 항목을
삽입합니다.
- 추가 단추를 누른 후 속성을 누르십시오.
이름을 COMPONENT_ID로 지정하고 확인을 두 번 누르십시오.
- 변환 모델 아이콘을 마우스 오른쪽 단추로 누르고
빌드 요소 표시를 선택하십시오. Lookup_Component를
두 번 누르고 일치하지 않는 구성원 탭을 누른 후 일치하지 않는
구성원 ID 승인을 선택하고 확인을 누르십시오.
- 변환 모델 탭에서 COMPONENT_ID 속성을 마우스 오른쪽 단추로 누르고
파생으로 변환을 누르십시오.
- 변환 모델 탭에서 COMPONENT_ID 속성을
두 번 누르고 계산 탭을 누른 후 다음 코드를 입력하십시오.
If NOT Unmatched( Lookup_Component )
then RETURN Lookup_Component.COMPONENT_ID ;
else RETURN -1;
확인을 누르십시오. 개념: 이 조건 유형에
대한 긍정적 일치를 지정하기 위해 스크립트에 이중 부정 구조가
사용됩니다.
대상 테이블에 속성 전달- "{$ODS}"."REQUEST" 테이블 전달을 두 번 누르십시오.
- 테이블 특성 탭에서 Status 및 COMPONENT_ID 요소에 대해
열 이름을 STATUS 및 COMPONENT_ID로 지정하십시오.
자동으로 테이블에 열 추가를 선택하십시오.
확인을 누르십시오.
개념: 새 속성을 저장할 열을 포함하도록 데이터 웨어하우스의 결함 테이블을 수정하지
않았으므로 자동으로 테이블에 열 추가 옵션을 체크하면
열이 없는 경우 테이블이 수정됩니다.
또한 Rational Data
Architect를 사용하면 ETL 작업을 실행하기 전에 테이블을 수정하거나 ETL 작업이 테이블을 수정한 후에
데이터 웨어하우스에서 데이터 모델을 갱신할 수 있습니다.
- 카탈로그를 저장하십시오.
기존 빌드가 수정됩니다.
이 단원에서 살펴본 내용은 다음과 같습니다.
새 엔티티를 로드하는 경우, 새 빌드를 작성하고
기존 빌드를 수정하여 추가 속성을 기존 엔티티에 추가해야 합니다. 이 단원에서는
기존 빌드를 수정했습니다. 다음 단원(단원 1.3)에서는 새 빌드를 작성합니다.
ETL 프로세스에는 엔티티마다 빌드가 하나씩 필요합니다.