데이터 로드 및 차원 빌드 팁

시간을 절약하기 위해 Essbase에 대한 증분 차원 빌드를 수행하고 데이터 하위 세트를 로드할 수 있습니다. 통합된 값을 덮어쓰지 않도록 하려면 데이터를 상위 멤버로 로드하지 마십시오. 데이터 처리 오류를 방지하려면 소스의 각 레코드에 동일한 수의 데이터 값 필드가 있는지 확인하십시오.

데이터를 로드하고 차원을 작성하는 데 도움이 되는 자세한 내용은 다음 항목을 참조하십시오.

증분 차원 빌드

큐브 아웃라인을 작성하는 동안 Essbase가 여러 데이터 소스를 읽을 수 있도록 하려면 증분 차원 빌드를 사용합니다. 증분 디마빌드는 모든 데이터 소스가 처리될 때까지 아웃라인 재구성을 지연시킵니다.

데이터만 로드하거나 차원 빌드에 단일 데이터 소스를 사용하는 경우 이 항목을 건너뜁니다.

기본적으로 아웃라인을 변경할 때마다 Essbase는 변경 유형을 고려하고 필요한 경우 큐브를 재구성합니다. 재구성하면 시간과 디스크 공간을 소모하는 데이터베이스가 재구축됩니다.

증분 차원 빌드(지연 구조 차원 빌드라고도 함)는 차원 빌드에 대한 다중 데이터 소스를 읽고 모든 데이터 소스가 처리될 때까지 재구성을 지연시킵니다.

가상 차원(동적계산 또는 레이블 전용)을 추가할 때 큐브에 존재하는 데이터가 새 차원의 첫번째 레벨 0의 저장된 멤버로 저장됩니다. 계층에 저장된 멤버가 하나 이상 있어야 합니다. 그렇지 않으면 아웃라인 확인 중 오류가 반환됩니다.

애플리케이션 워크북을 사용하여 기존 큐브에 차원을 증분적으로 추가할 경우 새 최상위 멤버에 데이터가 자동으로 매핑됩니다. 기존 데이터를 매핑할 저장된 멤버를 선택할 수 있는 방법이 없습니다. 새 차원에 동적 계산되는 최상위 멤버가 있으면 동적 멤버는 데이터를 저장할 수 없으므로 데이터가 손실됩니다.

애플리케이션 워크북을 사용하여 최상위 멤버가 동적 계산되는 새 차원을 추가할 때 다음 단계를 따르십시오.
  1. 최상위 멤버가 저장된 새 차원을 추가합니다.
  2. 계산 스크립트를 실행하여 새 최상위 멤버의 데이터를 해당 차원의 다른 저장된 멤버로 복사합니다.
  3. 최상위 멤버를 동적 계산으로 변경합니다.

MaxL을 사용하면 하나의 import 문 내에 모든 데이터 소스를 포함할 수 있습니다. 각 파일에 대해 아웃라인 검증을 수행할지 여부를 제어할 수 있습니다. 마지막 파일에 대해 아웃라인 검증을 사용으로 설정해야 합니다.

모든 경우에 데이터 소스는 나열된 순서대로 처리됩니다.

주:

MaxL을 사용하면 각 파일에 대해 아웃라인 확인을 강제 적용하거나 숨길 수 있습니다. 유효한 아웃라인을 보장하려면 마지막 빌드가 아웃라인을 확인해야 합니다.

데이터 로드 위치

데이터 로드를 수행하기 전에 의도치 않게 데이터를 겹쳐쓰지 않도록 조치를 취하십시오. 블록 스토리지(BSO) 큐브의 상위 멤버로 로드하지 마십시오. 이렇게 해야 하는 경우 Essbase가 1차 하위 구성요소의 #MISSING 값을 상위로 통합하지 않는지 확인하는 단계를 수행합니다.

차원을 작성하거나 ASO(집계 저장 영역) 데이터베이스로 작업하는 경우 이 섹션을 건너뜁니다.

데이터를 상위 멤버로 로드하는 경우 데이터베이스를 계산할 때 하위 데이터 값의 통합이 상위 데이터 값을 덮어쓸 수 있습니다. 덮어쓰기를 방지하려면 다음을 수행합니다.

  • 가능한 경우 상위로 직접 데이터를 로드하지 마십시오.

  • 데이터를 상위 멤버로 로드해야 하는 경우 집계 #MISSING 설정을 변경하여 Essbase가 상위의 하위에서 상위로 #MISSING 값을 통합하지 않도록 해야 합니다.

MaxL, 애플리케이션 워크북, 아웃라인 또는 계산 스크립트를 사용하여 집계 누락 동작을 설정할 수 있습니다.

  • Essbase 웹 인터페이스를 사용하여 집계 누락 동작을 변경하려면 데이터베이스 사용자정의 페이지에서 누락된 값 집계 설정을 변경합니다. 고급 큐브 속성 설정을 참조하십시오.

  • 애플리케이션 워크북을 사용하여 누락된 집계 동작을 변경하려면 Cube.Settings 워크시트에서 누락된 값 집계 설정을 변경합니다.

  • 계산 스크립트에서 누락된 집계 동작을 변경하려면 SET AGGMISSG 계산 명령을 사용합니다.

  • MaxL을 사용하여 집계 누락 동작을 변경하려면 alter database appname.dbname enable|disable aggregate_missing를 사용합니다.

위에서 언급한 메소드는 하위 값이 비어 있는 경우에만 작동합니다(#MISSING). 1차 하위 구성요소에 데이터 값이 있는 경우 데이터 값은 상위의 데이터 값을 덮어씁니다. #MISSING 값을 참조하십시오.

주:

동적 계산 또는 속성 멤버로 데이터를 로드할 수 없습니다. 예를 들어, 연도가 동적 계산 멤버인 경우 데이터를 로드할 수 없습니다. 대신 동적 계산 멤버가 아닌 Qtr1, Qtr2, Qtr3 및 Qtr4로 데이터를 로드합니다.

출처 데이터에 누락된 필드

Essbase 데이터 로드를 수행하는 경우 소스 데이터의 각 레코드에 동일한 수의 데이터 값 필드가 있어야 합니다. 데이터 값이 누락된 경우 데이터 로드 프로세스가 잘못 처리됩니다.

차원 필드 또는 멤버 필드가 누락된 경우 Essbase는 해당 차원 또는 멤버 필드에 대해 이전에 사용한 값을 사용합니다. 데이터 로드 및 차원 빌드 디버그를 참조하십시오.

규칙에 추가 빈 필드가 있는 경우 비어 있는 필드를 옆에 있는 필드와 함께 결합합니다.

집계 스토리지 큐브에서는 레벨 0 셀에만 값을 로드할 수 있습니다. #MISSING 또는 #MI를 소스에서 값으로 지정하면 연관된 셀(큐브에 있는 경우)이 제거됩니다.

집계 저장 영역 큐브의 데이터 로드 차이에 대한 자세한 내용은 다음을 참조하십시오.

소스에서 레코드 하위 집합 로드

Essbase 데이터 로드 또는 차원 빌드 중 소스 데이터에서 레코드 하위 세트를 로드할 수 있습니다.

레코드 하위 집합을 로드하려면 다음을 수행합니다.

  1. 텍스트 편집 도구를 사용하여 데이터 소스의 레코드에 번호를 지정합니다.
  2. 레코드 번호가 포함된 열을 무시하도록 로드 규칙을 설정합니다.
  3. 로드하려는 레코드를 제외한 모든 레코드를 거부하려면 거부 기준을 정의합니다. 예를 들어, 무시된 열이 250보다 작거나 500보다 큰 모든 레코드를 거부합니다.

    오류 로그가 보유할 수 있는 것보다 많은 레코드를 거부할 수 없습니다. 기본적으로 제한은 1000입니다. DATAERRORLIMIT 구성을 설정하여 제한을 변경할 수 있습니다.