차원 빌드의 레벨 참조

레벨은 최하위 멤버가 레벨 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 처리 빌드 메소드

프로세스 레벨 null 빌드 메소드를 사용하는 경우 소스 데이터에서 레벨 참조를 처리하는 동안 Essbase에 일부 null 값을 예상하도록 지시하여 오류를 방지합니다.

이 차원 빌드 예에서는 다음과 같은 비대칭/비대칭 계층을 Sample Basic의 새 채널 차원에 추가한다고 가정합니다.


채널 차원에는 네 레벨의 멤버 깊이가 포함됩니다. 채널 ID는 레벨 0에 있습니다. 간접 채널 ID에는 그 위에 세 레벨의 멤버가 있고, 직접 채널 ID에는 그 위에 네 레벨의 멤버가 있어 균형이 맞지 않거나 단편화된 계층입니다.

데이터 소스는 상향식이므로 각 레코드에서 가장 낮은 레벨이 먼저 나타납니다. 따라서 레벨 참조 빌드 방법을 사용하는 것이 좋습니다. 그러나 널 처리 지침이 필요합니다. 간접 채널에 대한 위치 데이터가 없으므로 처음 세 개의 소스 데이터 레코드에 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"

프로세스 레벨 널 빌드 메소드를 사용하여 차원을 빌드하고 널과 관련된 오류를 방지하는 규칙을 생성할 수 있습니다.

이 예에 대한 규칙을 생성하려면 다음을 수행합니다.

  1. Essbase 서버의 파일 카탈로그에 있는 갤러리에서 사용할 수 있는 애플리케이션 워크북을 사용하여 샘플 기본 큐브를 임포트/작성합니다.

  2. 다음과 같이 쉼표로 구분된 데이터 파일을 생성하고 이름을 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"
  3. 홈 페이지에서 애플리케이션을 연 다음 데이터베이스(큐브)를 엽니다.

  4. 스크립트 탭을 선택한 다음 규칙을 누릅니다.


    [스크립트] 탭이 선택되고 Essbase 웹 인터페이스에서 규칙 타일이 강조 표시됩니다.

  5. 생성을 누르고 차원 빌드(정규)를 선택합니다.


    데이터베이스 대화상자에서 Create 버튼을 누르고 Dimension Build (Regular) 옵션을 선택합니다.

  6. 새 규칙 대화상자에서

    1. 규칙 이름(예: levchannel)을 입력합니다.

    2. 소스 유형에서 파일을 선택하고 카탈로그를 누른 다음 levchannel.txt로 이동합니다.

      카탈로그를 누르면 기본적으로 파일이 Essbase 서버의 큐브 디렉토리에 위치해야 하므로 Essbase 웹 인터페이스파일 섹션을 사용하여 이미 파일을 업로드했어야 합니다. 파일이 클라이언트 시스템에 있는 경우 파일 브라우저를 눌러 파일을 찾습니다.

    3. 헤더 레코드 번호차원 빌드 레코드 번호 필드는 0으로 둡니다. 헤더 레코드는 차원 빌드에 유용하지 않습니다.

    4. 계속을 누릅니다.

    5. 정의되지 않은 필드가 있는 차원 빌드 규칙이 열리고 텍스트 파일의 미리보기 데이터가 필드 아래의 그리드를 채웁니다.
      새 규칙 "levchannel"에 대한 차원 빌드 규칙 편집기입니다. 정의되지 않은 필드 1 - 4는 채우기를 기다리는 메타데이터 열입니다. 각 필드 아래에는 소스 데이터 파일에서 가져온 데이터 값이 있습니다.

  7. 새 규칙이므로 아직 연결된 차원이 없습니다.

    1. 차원을 누릅니다.
      규칙 편집기의 차원 단추

    2. 새 차원 이름 채널을 입력하고 추가를 누릅니다.
  8. 이제 빌드 방법을 정의하고 다른 차원 빌드 작업 지침을 확인해야 합니다. 차원 등록정보를 편집하려면 채널 링크를 누릅니다.

  9. 빌드 방법프로세스 레벨 null로 변경합니다.


    프로세스 레벨이 Null로 선택된 차원 빌드 규칙 편집기의 차원 편집 창입니다.

    [확인]을 누릅니다.

  10. 필드 1에서 차원 선택기를 누르고 채널을 선택합니다.
    차원 빌드 규칙 편집기의 필드 1로, 데이터로 채워지고 채널 차원이 선택되었습니다.

  11. 필드 1의 유형 선택기를 레벨로 변경합니다.

  12. 채널 ID가 레벨 0에 있으므로 레벨을 0으로 증분합니다.

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


    프로세스 레벨 nulls 빌드 메소드를 사용하여 래깅된 계층으로 채널 차원을 생성하는 차원 빌드 규칙입니다. 필드 1은 채널, 레벨, 0으로 정의되며 채널 ID를 포함합니다. 필드 2는 채널, 레벨 1로 정의되며 Null 필드 3개와 위치 필드 3개(출구, 몰 및 키오스크)를 포함합니다. 필드 3은 레코드 3개에 대해 채널, 레벨, 2, 간접으로 정의되고 레코드 3개에 대해 직접으로 정의됩니다. 필드 4는 채널, 레벨, 3으로 정의되며 모든 채널을 포함합니다.

  14. 규칙을 확인한 다음 저장한 후 닫습니다. 오류가 있는 경우 적합한 차원 작성 규칙 파일에 대한 요구사항을 참조하십시오.

  15. 차원 빌드 작업을 실행합니다.

  16. 아웃라인을 보고 채널 차원 및 멤버의 예상 계층이 추가되었는지 확인합니다.

레벨 기반 차원 빌드에 대한 Null 처리 플로우

널 처리가 사용으로 설정된 경우 Essbase는 다음과 같은 방법으로 레벨 널을 처리합니다.

  • Null 레벨 필드: Essbase에서 [레벨] 필드가 필요한 경우 null이 발생하면 Essbase는 다음 [레벨] 필드를 승격하여 누락된 필드를 대체합니다.

    레벨 1의 필드 2에 널이 포함되어 있으므로 차원 빌드는 레벨 2 대신 레벨 1에 간접을 배치합니다.


    필드 1은 첫 번째 행에 채널 ID를 포함하는 채널, 레벨 0입니다. 필드 2는 첫 번째 행에 null이 포함된 채널, 레벨 1입니다. 필드 3은 첫 번째 행에 간접이 포함된 채널, 레벨 2입니다. 필드 4는 모든 채널을 포함하는 채널, 레벨 3입니다.

  • 보조 필드 앞의 Null 필드: 2차 필드 바로 앞에 null이 발생하면 Essbase는 2차 필드를 무시합니다. 2차 필드 옵션은 별칭, 등록정보, 공식, 중복 레벨, 중복 레벨 별칭, 통화 이름, 통화 범주, 속성 상위, UDA 및 속성 차원 이름입니다.

    필드 2에 널이 포함되어 있으므로 차원 빌드는 필드 3의 별칭을 무시합니다. Essbase는 레벨 1에서 간접, 레벨 2에서는 모든 채널을 배치합니다.


    필드 1은 채널 ID를 포함하는 채널, 레벨 0입니다. 필드 2는 null을 포함하는 채널, 레벨 1입니다. 필드 3은 카탈로그를 포함하는 채널, 별칭입니다. 필드 4는 간접을 포함하는 채널, 레벨 2입니다. 필드 5는 모든 채널을 포함하는 채널, 레벨 3입니다.

  • Null 2차 필드: Essbase에서 2차 필드가 필요한 경우 Essbase는 2차 null 필드를 무시하고 로드를 계속합니다. 이는 레벨 빌드 방법과 동일한 동작입니다.

    필드가 널을 포함하므로 차원 빌드는 필드 3의 첫 번째 별칭을 무시합니다. 멤버 콘센트는 별칭 없이 아웃라인에 추가됩니다.


    필드 1은 채널 ID를 포함하는 채널, 레벨 0입니다. 필드 2는 채널, 첫 번째 행의 콘센트를 포함하는 레벨 1, 다음 두 행의 몰 및 키오스크입니다. 필드 3은 채널, 별칭이며 첫 번째 행에는 null이 포함되고 다음 두 행에는 일부 별칭이 포함됩니다. 필드 4는 모든 행에서 Direct를 포함하는 Channel, Level 2입니다. 필드 5는 모든 행의 모든 채널을 포함하는 채널, 레벨 3입니다.