차원 빌드의 생성 참조
공통 분기를 차지하는 Essbase 차원 멤버는 동일한 세대에 있습니다. 세대 1은 차원 이름이고 각 하위 레벨은 세대 번호를 증가시킵니다. 하향식 소스에서 차원을 빌드할 때는 세대 빌드 방법을 사용합니다. 소스 데이터에 널이 포함된 경우 프로세스 생성 널 빌드 메소드를 사용합니다.
하향식 데이터 소스는 최상위 레벨에서 최하위 레벨까지 왼쪽에서 오른쪽으로 구성됩니다. 각 레코드는 가장 일반적인 정보로 시작하며 가장 구체적인 정보로 진행됩니다. 새 멤버의 이름이 레코드 끝에 있습니다. 하향식 데이터 소스를 사용하는 경우 생성 참조 빌드 메소드를 사용합니다. 규칙 파일에서 데이터 소스의 각 필드에 대한 생성 번호 및 필드 유형을 지정합니다.
Essbase는 차원 내 멤버의 계층적 위치에 따라 차원 내 멤버의 번호를 지정합니다. 이 숫자를 생성 참조라고 합니다. 차원은 항상 1세대입니다. 차원의 동일한 분기에 있는 모든 멤버를 생성이라고 합니다. 세대는 치수에 상대적인 위치에 따라 하향식으로 번호가 지정됩니다. 즉, 치수 1에 상대적입니다.
예를 들어, 아래 그림과 같이 Product 차원은 1세대입니다. 제품에는 100명의 멤버가 있으며, 이는 2세대입니다. 100에는 3세대인 100-10과 같은 멤버가 있습니다. 생성 참조 빌드 메소드를 사용하려면 규칙 파일에서 생성 참조 번호를 지정합니다.
그림 14-1 세대

Product 차원의 큐브가 있다고 가정합니다. 차원은 1세대이므로 Product는 1세대입니다. 탭으로 구분된 다음 하향식 데이터 파일을 사용하여 Product 차원을 작성한다고 가정합니다.
500 500-10 500-10-10
500 500-10 500-10-20
500 500-20 500-20-12
500 500-20 500-20-15
500 500-20 500-20-20
일반적으로 위에 표시된 대로 최하위 레벨 멤버의 순서가 오른쪽에서 왼쪽으로 지정될 때 세대 빌드 메소드를 사용하여 차원 빌드를 실행합니다.
다음 규칙을 사용하여 세대 참조를 사용하여 차원을 작성할 수 있습니다. 규칙은 데이터 소스의 각 필드에 대한 생성 번호를 지정합니다. 또한 소스 데이터에 널이 포함되어 있지 않은 경우 규칙의 차원 속성에서 세대 빌드 메소드를 선택해야 합니다. 이 사용 사례의 경우 아래 빈 필드 처리 참조.

Essbase는 데이터 및 규칙 소스에서 다음 계층을 작성합니다.
그림 14-2 세대 참조

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

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

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

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

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

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

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

-
필드 1의 유형 선택기를 생성으로 변경합니다.
-
모든 채널 계층 멤버가 레벨 2에 있으므로 세대를 2로 증분합니다. 세대 1 멤버는 항상 차원 이름입니다. 이 경우 채널입니다.
-
필드 2 - 4에서 이제 채널이 차원으로 선택되어야 합니다. 유형 선택기를 세대로 변경하고 필드 2의 경우 생성 번호를 3으로, 필드 3의 경우 4로, 필드 4의 경우 5로 표시합니다.

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

-
보조 필드 앞의 Null 필드: 2차 필드 바로 앞에 null이 발생하면 Essbase는 2차 필드를 무시합니다. 2차 필드 유형은 별칭, 등록정보, 공식, 중복 생성, 중복 생성 별칭, 통화 이름, 통화 범주, 속성 상위, UDA 및 속성 차원 이름입니다.
예
4세대에 Null이 포함되어 있으므로 차원 빌드는 필드 4의 별칭을 무시하고 채널 ID를 5세대가 아닌 4세대로 승격합니다.

-
Null 2차 필드: Essbase가 2차 필드를 필요로 하는 경우 Essbase는 2차 null 필드를 무시하고 로드를 계속합니다. 이는 Generation 빌드 방법과 동일한 동작입니다.
예
차원 빌드는 필드 4의 별칭을 무시합니다. 해당 필드에 널이 있기 때문입니다. 멤버 콘센트는 별칭 없이 아웃라인에 추가됩니다.
