차원 빌드의 레벨 참조
레벨은 최하위 멤버가 레벨 0인 상향식 계층에서 정의되며, 차원 이름에 가까운 각 단계는 레벨을 1씩 증가시킵니다. 상향식 소스에서 Essbase 차원을 빌드하는 경우 레벨 빌드 방법을 사용합니다. 소스 데이터에 널이 포함된 경우 프로세스 레벨 널 빌드 메소드를 사용합니다.
데이터의 상향식 소스에서 각 레코드는 차원의 단일 멤버를 정의합니다. 정의는 멤버에 대한 가장 구체적인 정보로 시작하며 보다 일반적인 정보를 점진적으로 제공합니다. 일반 레코드는 새 멤버의 이름, 상위 멤버의 이름, 상위 멤버의 상위 멤버 등을 지정합니다.
예를 들어, 아래 표시된 아웃라인에서 최하위 레벨 멤버는 Product 차원 분기의 맨 아래에 있습니다.
그림 14-3 세대 및 레벨 번호

차원 작성 작업을 사용하여 아웃라인을 작성하려면 다음과 같은 상향식 데이터 소스를 입력할 수 있습니다.
100-10-12 100-10 100
100-20-12 100-20 100일반적으로 최하위 레벨 멤버의 순서가 왼쪽에서 오른쪽으로 지정될 때 레벨 빌드 방법을 사용하여 차원 빌드를 실행합니다. 레벨 0(리프 레벨) 멤버는 첫 번째 필드에 있고 레벨 1 멤버는 두 번째 필드에 있습니다. 이 조직은 세대 참조(하향식)를 위해 데이터가 표시되는 방식과 반대입니다.
Product 차원의 큐브가 있고 다음과 같은 상향식 탭 구분 데이터 파일을 사용하여 Product 차원에 더 많은 제품 멤버를 작성한다고 가정합니다.
600-10-11 600-10 600
600-20-10 600-20 600
600-20-18 600-20 600데이터 소스의 첫번째 열에 새 최하위 레벨 멤버(600-10-11, 600-20-10 및 600-20-18)가 포함되어 있다는 점에서 데이터 소스는 "상향식"입니다. 두 번째 열에는 새 멤버의 상위 멤버(600-10 및 600-20)가 포함되고 세 번째 열에는 상위 멤버(600)의 상위가 포함됩니다.
차원 빌드 로드 규칙은 레벨 참조 빌드 방법을 사용하여 Product 차원에 멤버를 추가합니다. 규칙은 데이터 소스의 각 필드에 대한 레벨 번호 및 필드 유형을 지정합니다. 또한 소스 데이터에 널이 포함되어 있지 않은 경우 규칙의 차원 속성에서 레벨 빌드 메소드를 선택해야 합니다. 이 사용 사례의 경우 아래의 빈 필드 처리 참조.

Essbase는 데이터 및 규칙 소스에서 다음 계층을 작성합니다.
그림 14-4 레벨

빈 필드 처리
소스 데이터의 생성 또는 레벨 참조에서 차원을 빌드하는 경우 널 값을 처리하도록 선택할 수 있습니다. Null 처리는 데이터 소스에서 빈 필드를 발견할 때 Essbase가 수행해야 하는 작업을 지정합니다.
주:
Null 처리 옵션은 일반 차원 빌드 규칙(인덱스 기반 아님)에만 사용할 수 있습니다.널 처리가 사용으로 설정되지 않은 경우 Essbase는 널 값이 있는 모든 레코드를 거부하고 오류 로그에 오류를 씁니다.
널 처리를 사용으로 설정하려면 새 차원 빌드 규칙을 생성할 때 차원 속성에서 널 처리 빌드 메소드 중 하나를 선택합니다.

프로세스 레벨 null 빌드 메소드를 사용하는 경우 소스 데이터에서 레벨 참조를 처리하는 동안 Essbase에 일부 null 값을 예상하도록 지시하여 오류를 방지합니다.
예
이 차원 빌드 예에서는 다음과 같은 비대칭/비대칭 계층을 Sample Basic의 새 채널 차원에 추가한다고 가정합니다.

데이터 소스는 상향식이므로 각 레코드에서 가장 낮은 레벨이 먼저 나타납니다. 따라서 레벨 참조 빌드 방법을 사용하는 것이 좋습니다. 그러나 널 처리 지침이 필요합니다. 간접 채널에 대한 위치 데이터가 없으므로 처음 세 개의 소스 데이터 레코드에 Null 필드가 포함됩니다.
Channel-04,,Indirect,"All Channels"
Channel-07,,Indirect,"All Channels"
Channel-24,,Indirect,"All Channels"
Channel-21,Outlet,Direct,"All Channels"
Channel-29,Mall,Direct,"All Channels"
Channel-31,Kiosk,Direct,"All Channels"프로세스 레벨 널 빌드 메소드를 사용하여 차원을 빌드하고 널과 관련된 오류를 방지하는 규칙을 생성할 수 있습니다.
이 예에 대한 규칙을 생성하려면 다음을 수행합니다.
-
Essbase 서버의 파일 카탈로그에 있는 갤러리에서 사용할 수 있는 애플리케이션 워크북을 사용하여 샘플 기본 큐브를 임포트/작성합니다.
-
다음과 같이 쉼표로 구분된 데이터 파일을 생성하고 이름을
levchannel.txt로 지정한 다음 Sample Basic 큐브 디렉토리에 업로드합니다.Channel-04,,Indirect,"All Channels" Channel-07,,Indirect,"All Channels" Channel-24,,Indirect,"All Channels" Channel-21,Outlet,Direct,"All Channels" Channel-29,Mall,Direct,"All Channels" Channel-31,Kiosk,Direct,"All Channels" -
홈 페이지에서 애플리케이션을 연 다음 데이터베이스(큐브)를 엽니다.
-
스크립트 탭을 선택한 다음 규칙을 누릅니다.
![[스크립트] 탭이 선택되고 Essbase 웹 인터페이스에서 규칙 타일이 강조 표시됩니다. [스크립트] 탭이 선택되고 Essbase 웹 인터페이스에서 규칙 타일이 강조 표시됩니다.](img/rwscriptsrules.png)
-
생성을 누르고 차원 빌드(정규)를 선택합니다.

-
새 규칙 대화상자에서
-
규칙 이름(예: levchannel)을 입력합니다.
-
소스 유형에서 파일을 선택하고 카탈로그를 누른 다음
levchannel.txt로 이동합니다.카탈로그를 누르면 기본적으로 파일이 Essbase 서버의 큐브 디렉토리에 위치해야 하므로 Essbase 웹 인터페이스의 파일 섹션을 사용하여 이미 파일을 업로드했어야 합니다. 파일이 클라이언트 시스템에 있는 경우 파일 브라우저를 눌러 파일을 찾습니다.
-
헤더 레코드 번호 및 차원 빌드 레코드 번호 필드는 0으로 둡니다. 헤더 레코드는 차원 빌드에 유용하지 않습니다.
-
계속을 누릅니다.
-
정의되지 않은 필드가 있는 차원 빌드 규칙이 열리고 텍스트 파일의 미리보기 데이터가 필드 아래의 그리드를 채웁니다.

-
-
새 규칙이므로 아직 연결된 차원이 없습니다.
- 차원을 누릅니다.

- 새 차원 이름 채널을 입력하고 추가를 누릅니다.
- 차원을 누릅니다.
-
이제 빌드 방법을 정의하고 다른 차원 빌드 작업 지침을 확인해야 합니다. 차원 등록정보를 편집하려면 채널 링크를 누릅니다.
-
빌드 방법을 프로세스 레벨 null로 변경합니다.

[확인]을 누릅니다.
-
필드 1에서 차원 선택기를 누르고 채널을 선택합니다.

-
필드 1의 유형 선택기를 레벨로 변경합니다.
-
채널 ID가 레벨 0에 있으므로 레벨을 0으로 증분합니다.
-
필드 2 - 4에서 이제 채널이 차원으로 선택되어야 합니다. 유형 선택기를 레벨로 변경하고 필드 2의 경우 레벨 번호를 1로, 필드 3의 경우 2로, 필드 4의 경우 3으로 표시합니다.

-
규칙을 확인한 다음 저장한 후 닫습니다. 오류가 있는 경우 적합한 차원 작성 규칙 파일에 대한 요구사항을 참조하십시오.
-
차원 빌드 작업을 실행합니다.
-
아웃라인을 보고 채널 차원 및 멤버의 예상 계층이 추가되었는지 확인합니다.
레벨 기반 차원 빌드에 대한 Null 처리 플로우
널 처리가 사용으로 설정된 경우 Essbase는 다음과 같은 방법으로 레벨 널을 처리합니다.
-
Null 레벨 필드: Essbase에서 [레벨] 필드가 필요한 경우 null이 발생하면 Essbase는 다음 [레벨] 필드를 승격하여 누락된 필드를 대체합니다.
예
레벨 1의 필드 2에 널이 포함되어 있으므로 차원 빌드는 레벨 2 대신 레벨 1에 간접을 배치합니다.

-
보조 필드 앞의 Null 필드: 2차 필드 바로 앞에 null이 발생하면 Essbase는 2차 필드를 무시합니다. 2차 필드 옵션은 별칭, 등록정보, 공식, 중복 레벨, 중복 레벨 별칭, 통화 이름, 통화 범주, 속성 상위, UDA 및 속성 차원 이름입니다.
예
필드 2에 널이 포함되어 있으므로 차원 빌드는 필드 3의 별칭을 무시합니다. Essbase는 레벨 1에서 간접, 레벨 2에서는 모든 채널을 배치합니다.

-
Null 2차 필드: Essbase에서 2차 필드가 필요한 경우 Essbase는 2차 null 필드를 무시하고 로드를 계속합니다. 이는 레벨 빌드 방법과 동일한 동작입니다.
예
필드가 널을 포함하므로 차원 빌드는 필드 3의 첫 번째 별칭을 무시합니다. 멤버 콘센트는 별칭 없이 아웃라인에 추가됩니다.
