Aggregate Storage Outlines에 대한 공식 개발

공식은 Essbase 아웃라인의 멤버 간 관계를 계산합니다. 합산 저장영역(ASO) 공식은 블록 저장영역 공식과 다릅니다. MDX에서 ASO(집계 저장영역) 공식을 숫자 값 표현식으로 작성하고 데이터 검색 시 동적으로 계산되는 큐브 아웃라인에 적용합니다.

ASO 공식과 BSO 공식의 차이점

블록 저장 영역(BSO) 아웃라인의 공식에 익숙하다면 ASO(집계 저장 영역)의 공식과 다른 점에 유의하십시오.

  • Essbase는 블록 저장영역 아웃라인에 공식을 쓸 수 있는 고유 계산 언어를 제공합니다. 집계 저장 영역 아웃라인에 대한 공식을 작성하려면 MDX(다차원 표현식) 언어를 사용합니다.

  • 아웃라인의 멤버에 직접 공식을 적용합니다. 블록 저장 큐브의 경우 계산 스크립트에 공식을 배치할 수 있습니다. 집계 저장영역 큐브의 경우 계산 스크립트에 공식을 배치할 수 없습니다.

ASO 큐브에 대한 공식 계산

Essbase는 데이터가 검색될 때만 합산 저장영역 아웃라인의 공식을 계산합니다. 계산 순서는 계산 결과에 영향을 줄 수 있습니다. 집계 저장영역 아웃라인에서 다중 차원에 MDX 공식을 사용할 때마다 각 멤버 또는 차원에 대한 해결 순서를 설정하는 것이 좋습니다. ASO 큐브의 계산 순서 및 해결 순서를 참조하십시오.

주:

집계 저장영역 계산을 설계할 때 MDX 공식이 있는 집계 저장영역 멤버가 동적으로 계산되는 것을 고려하십시오. 동적으로 계산된 멤버의 값은 질의될 때까지 #MISSING입니다.

MDX 공식 사용

MDX 공식은 항상 MDX 숫자 값 표현식이어야 합니다. MDX에서 숫자 값 표현식은 다음 작업 중 하나를 수행하는 함수, 연산자 및 멤버 이름의 조합입니다.

  • 값 계산

  • 조건에 대한 테스트

  • 수학 연산 수행

숫자 값 표현식은 집합 표현식과 다릅니다. 집합 표현식은 질의 축에 사용되며 멤버 및 멤버 조합을 설명합니다. 숫자 값 표현식은 값을 지정합니다.

숫자 값 표현식은 질의의 WITH 섹션에서 분석 목적으로 생성되었지만 아웃라인에 존재하지 않는 논리적 멤버인 계산된 멤버를 작성하는 질의에 사용됩니다.

다음 질의는 계산된 멤버를 정의하고 숫자 값 표현식을 사용하여 값을 제공합니다.

WITH MEMBER
 [Measures].[Prod Count]
AS
 'Count (
    Crossjoin (
     {[Units]},
     {[Products].children}
    )
  )', SOLVE_ORDER=1
SELECT
 {[Geography].children}
ON COLUMNS,
 {
  Crossjoin (
     {[Units]},
     {[Products].children}
    ),
   ([Measures].[Prod Count], [Products])
 }
ON ROWS
FROM
 ASOsamp.Sample

샘플 쿼리에서 WITH 절은 Measures 차원에서 다음과 같이 계산된 멤버인 Product Count를 정의합니다.

WITH MEMBER
 [Measures].[Prod Count]

숫자 값 표현식은 WITH 절을 따르며 작은 따옴표로 묶입니다. 샘플 쿼리에서 숫자 값 표현식은 다음과 같이 지정됩니다.

'Count ( 
    Crossjoin (
     {[Units]},
     {[Products].children}
    )
  )'

SOLVE_ORDER 속성은 멤버 및 공식이 평가되는 순서를 지정하십시오. ASO 큐브의 계산 순서 및 해결 순서를 참조하십시오.

주:

예제에서 숫자 값 표현식을 작성하는 데 사용되는 구문 규칙에 대한 설명은 개수, 교차 조인하위 함수에 대한 설명서를 참조하십시오.

숫자 값 표현식을 MDX 공식으로 사용하여 기존 아웃라인 멤버의 값을 계산할 수도 있습니다.

따라서 예제 질의를 생성하는 대신 샘플 질의에서 가상 제품 수가 계산된 것과 동일한 방식으로 아웃라인에서 계산된 제품 수라는 측정항목 차원에 아웃라인 멤버를 생성할 수 있습니다.

공식으로 계산된 멤버를 생성하려면 다음을 수행합니다.

  1. 멤버 생성.

  2. 멤버에 MDX 공식을 첨부합니다.

    예제 제품 수 멤버를 생성한 경우 예제 질의에서 계산된 멤버를 생성하는 데 사용되는 숫자 값 표현식에 해당하는 다음 공식을 사용합니다.

    Count(Crossjoin ( {[Units]}, {[Products].children}))
  3. 아웃라인을 확인하여 공식을 확인합니다.

    집계 저장영역 큐브에서 데이터를 검색하는 경우 공식이 멤버 값을 계산하는 데 사용됩니다.

    공식에서 대체 변수를 사용할 수 있습니다. 예를 들어, "EstimatedPercent"라는 대체 변수를 정의하고 다른 백분율을 대체 변수 값으로 제공할 수 있습니다. 정보 변경을 위한 변수 구현을 참조하십시오.

아웃라인의 멤버에 공식을 적용하기 전에 계산된 멤버가 포함된 MDX 쿼리를 작성할 수 있습니다. 원하는 계산된 멤버 결과를 반환하는 MDX 질의를 작성할 수 있는 경우 숫자 값 표현식의 논리를 아웃라인 멤버에 적용하고 표현식을 검증 및 테스트할 수 있습니다. MDX 쿼리 작성을 참조하십시오.