속성 데이터 계산
Essbase는 Essbase에서 생성된 시스템 정의 차원의 멤버를 사용하여 검색 시 속성 데이터를 동적으로 계산합니다. 이 차원을 사용하면 합계 또는 평균과 같은 다양한 계산 함수를 동일한 속성에 적용할 수 있습니다.
속성 차원의 멤버에 대해 특정 계산을 수행할 수도 있습니다. 예를 들어, 온스에 의해 크기가 조정된 제품의 온스별 수익성을 결정할 수 있습니다.
다음 정보는 동적 계산을 포함하여 속성 차원 및 Essbase 계산의 개념을 이해한다고 가정합니다. 다음 절을 참조하십시오.
속성 계산 차원
큐브에서 속성을 구현하면 속성 계산에 대해 레이블 전용 동적 계산 차원이 자동으로 추가됩니다. Essbase는 검색 시 속성 데이터를 계산하는 데 사용합니다.
아웃라인에서 첫 번째 속성 차원을 생성하는 경우 Essbase는 기본 이름이 Sum, Count, Min(최소), Max(최대) 및 Avg(평균)인 5개 멤버로 구성된 속성 계산 차원을 생성합니다. 스프레드시트 또는 보고서에서 이러한 멤버를 사용하여 서부의 12온스 병 평균 연간 매출과 같은 속성 데이터를 동적으로 계산하고 보고할 수 있습니다.
속성 계산 차원은 아웃라인에 표시되지 않습니다. Smart View와 같은 차원 멤버를 선택하는 모든 위치에서 볼 수 있습니다.
속성 계산 차원에는 다음 속성이 있습니다.
-
시스템 정의
애플리케이션에서 첫 번째 속성 차원을 생성하는 경우 Essbase는 속성 계산 차원 및 해당 멤버(합계, 개수, 최소, 최대 및 평균)를 생성합니다. 각 멤버는 속성에 대해 수행할 계산 유형을 나타냅니다.
속성 계산 차원의 기본 멤버를 참조하십시오.
-
레이블 전용
모든 레이블 전용 치수와 마찬가지로 속성 계산 치수는 첫 번째 자식 Sum의 값을 공유합니다.
멤버 스토리지 속성을 참조하십시오.
-
동적 계산
속성 계산 차원의 데이터는 사용자가 요청할 때 계산되고 폐기됩니다. 계산된 속성 데이터는 데이터베이스에 저장할 수 없습니다.
데이터 값의 동적 계산을 참조하십시오.
-
아웃라인 편집기에 표시되지 않음
속성 계산 차원은 아웃라인 편집기에 표시되지 않습니다. 이 차원의 멤버는 스프레드시트 및 보고서에서 볼 수 있습니다.
속성 차원에 따른 통합이 없습니다. 속성 데이터를 계산하기 위해 연결 기호(예: + 또는 -) 또는 멤버 공식을 사용하여 속성 차원의 멤버에 태그를 지정할 수 없습니다. 동적 계산 멤버인 속성 계산은 시간 또는 계산 순서 측면에서 뱃치 계산에 영향을 주지 않습니다.
검색 시 속성 데이터를 계산하기 위해 Essbase는 다음 태스크를 수행합니다.
-
현재 질의에 있는 속성-차원 멤버와 연관된 기본 차원 멤버를 찾습니다.
-
현재 쿼리에 대한 속성-멤버 조합의 합계, 개수, 최소값, 최대값 또는 평균을 동적으로 계산합니다.
-
스프레드시트 또는 보고서에 결과를 표시합니다.
-
계산된 값 즉, 값이 데이터베이스에 저장되지 않습니다.
주:
Essbase는 속성 데이터를 계산할 때 #MISSING 값을 제외합니다.
예를 들어, 그림 6-2에 표시된 것처럼 스프레드시트 사용자는 스프레드시트 보고서에 속성 차원의 두 멤버(Ounces_16 및 Bottle)와 속성 계산 멤버(Avg)를 지정합니다. 검색 시 Essbase는 현재 멤버 조합에 대해 해당 속성과 연계된 모든 제품의 평균 판매 값을 동적으로 계산합니다(실제 -> 판매 -> 동부 -> Qtr1).
그림 6-2 속성 계산 멤버 검색

Smart View에서 속성 계산 멤버 액세스를 참조하십시오.
속성 계산 차원의 기본 멤버
Essbase 속성 계산 차원에는 속성 데이터를 계산하고 보고하는 데 사용되는 5개의 멤버(합계, 개수, 최소, 최대 및 평균)가 포함됩니다.
합계(Sum) - 속성 또는 속성 조합이 있는 멤버의 값 합계 또는 합계를 계산합니다.
개수(Count) - 데이터 값이 있는 지정된 속성 또는 속성 조합을 가진 멤버 수를 계산합니다. Count에는 데이터 블록이 있는 멤버만 포함됩니다. 특정 속성이 있는 모든 멤버의 개수를 계산하려면 데이터 값이 있는지 여부에 관계없이 @COUNT 함수를 @ATTRIBUTE 함수와 함께 사용합니다.
평균 - 지정된 속성 또는 속성 조합(합계를 개수로 나눈 값)에 대해 누락되지 않은 값의 수학적 평균 또는 평균을 계산합니다.
최소(Min) - 지정된 속성 또는 속성 조합의 최소 데이터 값을 계산합니다.
최대값(Max) - 지정된 속성 또는 속성 조합의 최대 데이터 값을 계산합니다.
주:
이러한 각 계산에는 #MISSING 값이 제외됩니다.
표준 멤버와 동일한 이름 지정 규칙에 따라 이러한 기본 멤버 이름을 변경할 수 있습니다. 속성 계산 차원의 멤버 이름 변경을 참조하십시오.
속성 계산 예
Essbase에서 속성 데이터를 계산하는 방법의 예로 속성 계산을 사용하여 병 및 캔으로 포장된 제품에 대한 합계, 개수, 평균, 최소 및 최대 판매 수치를 계산합니다.
East 지역의 연간 판매 데이터는 다음과 같습니다.
표 6-3 샘플 속성 데이터
| 기본 차원 구성원 | 연관된 속성 | 속성-회원 조합에 대한 판매 값 |
|---|---|---|
|
생계비 조정 |
온스_12, 캔 |
23205 |
|
다이어트 콜라 |
온스_12, 캔 |
3068 |
|
다이어트 크림 |
온스_12, 캔 |
1074 |
|
Grape |
온스_32, 병 |
6398 |
|
오렌지색 |
온스_32, 병 |
3183 |
|
딸기 |
온스_32, 병 |
5664 |
그림 6-3에서는 스프레드시트 보고서에서 계산된 속성 데이터가 표시되는 방식을 보여줍니다. 속성에 대한 다중 속성 계산 멤버를 검색할 수 있습니다. 예를 들어 병과 캔에 대해 합계, 개수, 평균, 최소 및 최대를 계산할 수 있습니다.
그림 6-3 속성 데이터가 포함된 샘플 스프레드시트

Smart View에서 속성 계산 멤버에 접근
Smart View의 Essbase 속성 계산 차원에서 멤버에 액세스할 수 있습니다.
스프레드시트에서 사용자는 다음 방법 중 하나를 사용하여 속성 계산 차원 멤버를 볼 수 있습니다.
-
시트에 직접 멤버 입력
-
질의 디자이너에서 멤버 선택
-
EssCell 매개변수로 멤버 입력
속성 계산 및 검색 성능
Essbase에서 속성 쿼리를 최적화하려면 속성 차원이 유일한 희소 동적 계산 차원인지 확인하고, 밀집 차원 뒤에 희소 차원을 배치하고, 검색 전에 기본 차원의 최하위 레벨로 드릴다운하고, 속성에 따라 기본 차원의 멤버를 그룹화합니다.
속성 계산 및 검색 성능을 최적화하려면 다음을 고려하십시오.
-
속성 계산에 대한 계산 순서는 동적 계산에 대한 계산 순서와 동일합니다. 동적 계산용 계산 순서를 참조하십시오.
-
Essbase는 검색 시 속성 데이터를 동적으로 계산하므로 속성 계산은 전체(일괄 처리) 데이터베이스 계산의 성능에 영향을 주지 않습니다.
-
기본 차원 멤버를 동적 계산으로 태그 지정하면 검색 시간이 늘어날 수 있습니다.
-
질의에 Sum 멤버와 연관된 기본 멤버가 2-pass로 태그 지정된 속성-차원 멤버가 포함된 경우 검색 시간이 느려질 수 있습니다.
-
속성 검색 성능을 최대화하려면 다음 기술 중 하나를 사용합니다.
-
속성을 사용하여 개요 성능 최적화의 팁을 사용하여 개요를 구성합니다.
-
데이터를 검색하기 전에 기본 차원의 최하위 레벨로 드릴 다운합니다. 예를 들어, Smart View에서 데이터 없이 탐색 기능을 설정하고 보고서에 포함된 기본 차원의 최하위 레벨로 드릴다운한 다음 데이터를 검색합니다.
-
기본 차원의 멤버가 여러 속성 차원과 연계된 경우 해당 속성에 따라 기본 차원의 멤버를 그룹화하는 것이 좋습니다. 예를 들어, Sample Basic 데이터베이스에서 모든 8온스 제품을 그룹화할 수 있습니다.
-
계산 공식의 속성
속성 계산 차원을 사용하여 속성 데이터를 계산하는 것 외에도 표준 또는 기본 차원의 멤버에 대한 공식을 사용하여 Essbase 속성 차원의 멤버에 대한 계산을 수행할 수 있습니다.
예를 들어, 계정 차원의 멤버에 공식을 적용하여 온스에 의해 크기가 지정된 제품에 대한 온스별 수익성을 결정할 수 있습니다.
공식을 속성 차원의 멤버와 연계할 수 없습니다.
주:
두 패스 멤버와 연관된 공식에서 속성을 사용하는 경우 몇 가지 제한 사항이 적용됩니다. 속성 차원에 대한 두 패스 계산에서 두 패스 계산에 대한 행을 참조하십시오.
다음 함수를 사용하여 속성에 대한 계산을 수행할 수 있습니다.
표 6-4 속성에서 계산되는 함수
| 함수 | 계산 유형입니다. |
|---|---|
|
@ATTRIBUTE(블록 스토리지용) 또는 MDX ATTRIBUTE()(집계 스토리지용) |
특정 속성을 가진 모든 기본 멤버 목록을 생성합니다. 예를 들어, Bottle 속성이 있는 멤버 목록을 생성한 다음 해당 멤버에 대한 가격을 늘립니다. |
|
계산 중인 기본 멤버와 연계된 레벨 0 속성 멤버의 값을 반환합니다.
예를 들어, 계산되는 기본 멤버(예: 콜라)에 대해 크기 속성의 숫자 값(예: 온스 아래의 멤버 12의 경우 12)을 반환합니다. 공식에 @ATTRIBUTEVAL을 사용하는 추가 예는 속성 공식 계산을 참조하십시오. |
|
|
계산을 위해 날짜 문자열을 숫자로 변환합니다. 예를 들어, @ATTRIBUTEVAL 함수와 함께 @TODATE를 사용하여 특정 일자 이후에 개설된 점포에 대한 간접비를 늘릴 수 있습니다. |
|
|
@WITHATTR(블록 스토리지용) 또는 MDX WITHATTR()(집계 스토리지용) |
지정한 조건을 충족하는 속성과 연계된 기본 차원 멤버 목록을 생성합니다. 예를 들어, 20온스 이상인 제품 리스트를 생성한 다음 해당 제품의 가격을 인상합니다. |
속성 계산 및 공유 멤버
속성 계산과 함께 예기치 않은 결과를 방지하려면 공유 멤버와 저장된 멤버를 Essbase 아웃라인의 계층에서 함께 혼합하지 마십시오.
속성 계산은 레벨 0에서 시작하여 첫 번째 저장된 멤버에서 중지합니다. 따라서 아웃라인에서 아웃라인 계층의 두 공유 멤버 사이에 저장된 멤버를 배치한 경우 계산 결과에 상위 공유 멤버가 포함되지 않을 수 있습니다.
다음 예에서 속성 계산이 수행되면 계산은 레벨 0 멤버 2로 시작하고 첫 번째 저장된 멤버(멤버 A)를 발견할 때 중지됩니다. 따라서 멤버 1은 계산에 포함되지 않습니다.
Member 1 (stored)
Member A (stored)
Member 2 (shared)
Member B (stored)
Member 1 (shared member whose prototype member is Member 1 above)멤버 2가 공유되지 않았거나 멤버 1에 아웃라인의 다른 곳에서 해당 공유 멤버가 없는 경우 계산 결과가 예상대로 되지 않습니다.
속성 및 비속성 멤버 계산의 차이점
속성 차원 멤버의 집계를 표준 차원 멤버의 집계와 일관되게 만들려면 속성 계층에서 중복 공유 멤버를 제거하거나 Essbase 아웃라인을 수정하여 다중 집계 경로를 제거합니다.
속성 차원 멤버의 계산은 표준 차원의 저장된 멤버 또는 동적 계산 멤버의 계산과 다르게 작동합니다.
Essbase가 표준 차원의 멤버를 합산하는 경우 상위 멤버의 값은 상위 멤버의 하위 멤버 값(하위 멤버가 레벨 0인지 아니면 상위 레벨 멤버인지 여부)을 합산합니다. 모든 하위 멤버 값은 상위 멤버의 값에 기여합니다.
Essbase가 속성 차원의 멤버를 집계할 때 속성 집계가 요청되는 각 상위 멤버에 대해 하위 멤버 목록이 확장되어 상위 값을 계산하기 위해 집계해야 하는 종속 레벨 0 데이터 블록이 포함됩니다.
이러한 차이를 감안할 때 공유 멤버가 포함되고 여러 집계 경로가 있는 경우 집계 속성 차원 멤버의 결과는 표준 차원 멤버의 결과와 다를 수 있습니다.
이 문제를 해결하려면 집계 속성 계층에서 중복 공유 멤버를 제거하거나 여러 집계 경로가 없도록 아웃라인을 리모델링합니다.