멤버 관련 함수

공식에 Essbase 멤버 함수를 사용하여 멤버 목록 및 범위를 지정하고, 멤버 목록을 생성하고, 멤버 이름을 조작하고, 차원 간에 멤버 조합을 사용할 수 있습니다.

이 섹션에서는 멤버를 참조하는 공식 생성에 대해 설명합니다.

멤버 목록 및 범위 지정

일부 Essbase 계산 함수를 사용하는 경우 아웃라인 멤버 목록 및/또는 멤버 범위를 입력해야 할 수 있습니다. 리스트는 리터럴 멤버 이름의 쉼표로 구분된 리스트이거나 계산 함수로 반환될 수 있습니다. 범위는 콜론 구문을 사용하여 지정하거나 계산 함수로 반환할 수 있습니다.

예를 들어, @ISMBR 함수는 현재 계산 중인 멤버가 지정된 멤버의 목록 또는 범위와 일치하는지 여부를 테스트합니다.

다음 표에는 멤버 지정 구문이 나열되어 있습니다.

표 17-8 멤버 목록 및 범위 지정 구문

멤버 목록 또는 범위 구문

한 명의 회원

멤버 이름입니다.

예:

Mar2001

멤버 목록입니다.

멤버 이름의 콤마로 구분된(,) 목록입니다.

예:

Mar2001, Apr2001, May2001

동일한 레벨의 모든 멤버 범위(두 정의 멤버 사이 및 포함)

두 개의 정의 멤버 이름은 콜론(:)으로 구분됩니다. 예:

Jan2000:Dec2000

두 정의 멤버 사이 및 두 정의 멤버를 포함하는 동일한 세대의 모든 멤버 범위

두 개의 콜론(::)으로 구분된 두 개의 정의 멤버 이름입니다.

예:

Q1_2000::Q4_2000

멤버 또는 멤버 범위의 함수 생성 목록

멤버 목록 내용 및 해당 함수 목록은 멤버 목록 생성을 참조하십시오.

범위와 목록의 조합

각 범위, 목록 및 함수를 쉼표(,)로 구분합니다.

예:

Q1_97::Q4_98, FY99, FY2000

또는

@SIBLINGS(Dept01), Dept65:Dept73, Total_Dept

함수에서 멤버 목록 또는 멤버 범위 중 하나를 필요로 하지 않는 경우 Essbase는 시간으로 태그 지정된 차원의 레벨 0 멤버를 사용합니다. 차원 태그가 시간으로 지정되지 않은 경우 Essbase에 오류 메시지가 표시됩니다.

구성원 목록 생성

Essbase 멤버 세트 함수를 사용하면 지정된 멤버 또는 멤버 목록을 기반으로 하는 멤버 목록을 생성할 수 있습니다.

표 17-9 멤버 세트 함수 목록

함수 구성원 목록 내용

@ALLANCESTORS

지정된 멤버의 상위 항목을 공유 멤버로 비롯하여 지정된 멤버의 상위 항목을 포함한 모든 상위 항목을 확장합니다. 이 함수는 지정된 멤버를 포함하지 않습니다.

@IALLANCESTORS

지정된 멤버의 상위 멤버가 공유 멤버로 나타나는 모든 상위 멤버가 포함된 경우 이 함수에는 지정된 멤버가 포함됩니다.

@ANCEST

지정된 세대 또는 레벨에서 지정된 멤버의 조상

@ANCESTORS

지정된 멤버(선택적으로 지정된 세대 또는 레벨까지의 모든 조상)의 조상이지만 지정된 멤버는 아닙니다.

@IANCESTORS

지정된 멤버를 포함하여 지정된 멤버의 모든 상위 멤버(선택적으로 지정된 세대 또는 레벨까지)

@LANCESTORS

지정된 멤버 목록의 모든 조상(선택적으로 지정된 세대 또는 레벨까지)이지만 지정된 멤버를 포함하지 않습니다.

@ILANCESTORS

지정된 멤버를 포함하여 지정된 멤버 목록의 모든 조상(선택적으로 지정된 세대 또는 레벨까지)

@ATTRIBUTE

지정된 속성-차원 멤버와 연계된 모든 기본 차원 멤버

@WITHATTR

지정된 조건을 충족하는 속성과 연계된 모든 기본 멤버

@BETWEEN

이름 문자열 값이 지정한 두 문자열 토큰(포함) 사이에 속하는 전체 멤버

@CHILDREN

지정한 멤버의 모든 1 차 하위 멤버(지정된 멤버 제외)

@ICHILDREN

지정한 멤버를 포함한 지정된 멤버의 모든 하위 멤버

@CURRMBR

지정된 차원에 대해 계산 중인 현재 멤버

@DESCENDANTS

지정된 멤버의 모든 하위 멤버(선택적으로 지정된 세대 또는 레벨까지)이지만 지정된 멤버 또는 공유 멤버의 하위 멤버는 아닙니다.

@IDESCENDANTS

지정된 멤버를 포함하지만 공유 멤버의 하위 멤버는 포함하지 않는 지정된 멤버의 모든 하위 멤버(선택적으로 지정된 세대 또는 레벨까지)

@LDESCENDANTS

지정된 멤버 목록의 모든 하위 멤버(선택적으로 지정된 세대 또는 레벨까지)이지만 지정된 멤버를 포함하지는 않습니다.

@ILDESCENDANTS

지정된 멤버를 포함하여 지정된 멤버 목록의 모든 하위 멤버(선택적으로 지정된 세대 또는 레벨까지)

@RDESCENDANTS

지정된 멤버(선택적으로 지정된 세대 또는 레벨까지)의 모든 하위 멤버(공유 멤버의 하위 멤버 포함, 지정된 멤버 제외)

@IRDESCENDANTS

지정된 멤버 및 공유 멤버의 하위 멤버를 포함하여 지정된 멤버의 모든 하위 멤버(선택적으로 지정된 세대 또는 레벨까지)

@EQUAL

지정된 토큰 이름과 일치하는 멤버 이름

@NOTEQUAL

지정된 토큰 이름과 일치하지 않는 멤버 이름

@EXPAND

멤버 목록의 각 멤버에 대해 멤버 세트 함수를 호출하여 멤버 검색을 확장합니다.

@GENMBRS

지정된 차원에서 지정된 세대의 모든 멤버

@LEVMBRS

지정된 차원에서 지정된 레벨의 모든 멤버

@LIKE

지정된 패턴과 일치하는 구성원 이름입니다.

목록(@L)

다중 목록 인수를 필요로 하는 함수에 의해 처리될 멤버 목록 구분

@MATCH

지정된 와일드카드 선택과 일치하는 모든 멤버

@MBRCOMPARE

비교 기준과 일치하는 멤버 이름

@MBRCOMPARE

지정된 멤버의 부모

멤버(@M)

문자열로 제공되는 이름이 있는 멤버

@MERGE

다른 함수에서 처리되는 두 멤버 목록의 병합된 목록

@PARENT

지정된 차원에서 계산되는 현재 멤버의 상위를 나타냅니다.

범위(@R)

한 차원의 지정된 멤버를 다른 차원의 지정된 멤버 범위로 건너는 멤버 목록입니다.

제거(@R)

일부 구성원이 제거된 구성원 목록

@RELATIVE

지정된 멤버 위나 아래에 있을 지정된 세대 또는 레벨의 멤버 모두

공유(@S)

지정된 멤버 간의 모든 공유 멤버를 식별하는 멤버 목록

@SIBLINGS

지정한 멤버가 아닌 모든 동위 멤버입니다.

@ISIBLINGS

지정한 멤버를 포함한 지정된 멤버의 모든 동위 멤버입니다.

@LSIBLINGS

지정된 멤버가 아닌 데이터베이스 아웃라인에서 지정된 멤버 앞에 있는 모든 동위 멤버

@RSIBLINGS

데이터베이스 아웃라인에서 지정된 멤버를 따르지만 지정된 멤버를 따르지 않는 모든 동위 멤버

@ILSIBLINGS

지정된 멤버를 포함하여 데이터베이스 아웃라인에서 지정된 멤버 앞에 있는 모든 동위 멤버

@IRSIBLINGS

지정된 멤버를 포함하여 데이터베이스 아웃라인에서 지정된 멤버를 따르는 모든 동위 멤버

@SHIFTSIBLING

멤버로부터 지정된 거리의 동위 멤버

@NEXTSIBLING

멤버의 다음 또는 맨 오른쪽 동위 멤버

@PREVSIBLING

멤버의 이전 또는 가장 왼쪽 형제

@UDA

Essbase 서버에 정의된 공통 UDA가 있는 모든 멤버

@XRANGE

동일한 레벨에 있는 두 개의 지정된 단일 또는 횡차원 멤버(포함) 사이의 멤버 범위를 식별하는 멤버 목록

멤버 이름 조작

Essbase 멤버 이름을 블록 저장영역 공식 및 계산 스크립트에서 문자열로 사용할 수 있습니다.

다음 표에는 문자열 조작 함수가 나열되어 있습니다.

표 17-10 문자열 조작 함수 목록

함수 문자열 조작

@CONCATENATE

멤버 이름 또는 지정된 문자열을 다른 멤버 이름이나 문자열에 추가한 결과인 문자열을 생성합니다.

@NAME

멤버 이름을 문자열로 반환합니다.

@SUBSTRING

다른 문자열 또는 멤버 이름에서 문자의 하위 문자열 반환

차원 간 멤버 조합 작업

Essbase 공식의 교차 차원 연산자 ->는 특정 멤버 조합의 다차원 데이터 값을 참조하는 한 가지 방법입니다. FIX 명령은 성능 향상에 도움이 될 수 있습니다.

교차 차원 연산자를 사용하여 특정 멤버 조합의 데이터 값을 가리킵니다. 하이픈(-)과 보다 큼 기호(>)를 사용하여 다차원 연산자를 생성합니다. 교차 차원 연산자와 멤버 사이에 공백을 포함하지 마십시오.

주:

다차원 연산자를 사용하면 성능에 상당한 영향을 줄 수 있습니다. 최적화 지침은 멤버 공식의 다차원 연산자를 참조하십시오.

아래는 다차원 큐브의 간단한 그림으로, Jan은 X축의 첫 번째 열이고 Sales는 Y축의 네 번째 및 최상위 행이며 Actual은 Z축의 첫 번째 행입니다. 이 예에서 판매 -> 1월 -> 실제는 단일 데이터 값의 교차입니다.

그림 17-2 단일 데이터 값 지정


이 이미지는 테이블 앞의 텍스트에 설명된 대로 단일 데이터 값의 교차가 표시되는 큐브를 보여줍니다.

각 시장의 각 제품에 기타 비용을 할당하는 다음 예에서는 다차원 연산자를 사용하는 방법을 보여 줍니다. 모든 시장의 모든 제품에 대한 Misc_Expenses 값이 알려져 있습니다. 공식은 각 제품 -> 시장 조합에 총 Misc_Expenses 값의 퍼센트를 할당합니다. 할당은 각 시장의 각 제품에 대한 판매 값을 기반으로 합니다.

Misc_Expenses = Misc_Expenses -> Market -> Product * 
   (Sales / ( Sales -> Market -> Product));

Essbase는 다음 계산을 수행하여 데이터베이스를 순환합니다.

  1. 현재 멤버 조합에 대한 판매 값을 모든 시장 및 모든 제품에 대한 총 판매 값(판매 -> 시장 -> 제품)으로 나눕니다.

  2. 1단계에서 계산된 값에 모든 시장 및 모든 제품에 대한 Misc_Expenses 값을 곱합니다(Misc_Expenses -> Market -> Product).

  3. 현재 멤버 조합에 대한 결과를 Misc_Expenses에 할당합니다.