집계 저장 영역 아웃라인에 공식 작성
공식 편집기를 사용하여 Essbase 합산 저장영역(ASO) 아웃라인에 MDX 공식을 작성합니다. 공식을 사용하면 기본 수학 방정식을 적용하고, 차원 간에 멤버를 계산하고, 조건부 테스트를 수행하고, UDA(사용자 정의 속성)를 기반으로 필터링할 수 있습니다.
집계 저장 영역 아웃라인의 공식
공식은 일반 텍스트입니다. 공식 편집기에 직접 공식을 입력하거나, 텍스트 편집기에서 공식을 생성하고 공식 편집기에 텍스트를 붙여 넣을 수 있습니다.
MDX 기반 구문 검사는 공식의 구문 오류(예: 잘못 입력된 함수 이름 또는 존재하지 않는 멤버)에 대해 알려줍니다. 함수 이름 목록에 대해 알 수 없는 멤버 이름을 검증할 수 있습니다. 서비스 인스턴스 또는 아웃라인과 연관된 애플리케이션에 접속되지 않은 경우 Essbase에서 접속하여 알 수 없는 이름을 검증할 수 있습니다.
공식 검증 또는 저장 시 구문 검사가 수행됩니다. 오류는 사용자 인터페이스에 표시됩니다. 오류가 발생하면 공식을 저장하거나 저장하지 않도록 선택합니다. 오류가 있는 공식을 저장하면 아웃라인을 저장할 때 경고가 표시됩니다. 오류가 있는 공식을 계산하면 공식이 무시되고 멤버에 $MISSING 값이 지정됩니다.
구문 검사기는 공식의 의미 오류에 대해 경고할 수 없습니다. 공식이 예상대로 작동하지 않을 경우 의미 오류가 발생합니다. 공식에서 의미 오류를 찾는 한 가지 방법은 공식을 정의하는 숫자 값 표현식을 MDX 쿼리에 배치하고 실행하여 결과가 예상과 같은지 확인하는 것입니다.
차원 빌드 데이터 소스에 공식을 포함할 수 있습니다. 차원 빌드 필드 유형 정보 설정을 참조하십시오.
집계 스토리지 아웃라인에 대한 기본 방정식
수학적 연산을 공식에 적용하여 기본 방정식을 작성할 수 있습니다. 예를 들어, 다음 공식은 ASOsamp 기본 큐브의 평균 단위/트랜잭션 멤버에 적용됩니다.
[Units]/[Transactions]평균 단위/트랜잭션의 공식은 트랜잭션당 평균 단위 수에 도달하기 위해 단위 수를 트랜잭션 수로 나눕니다.
집계 저장영역 아웃라인에서 멤버는 비용 항목으로 태그를 지정할 수 없습니다. 따라서 비용 태그를 고려하여 두 멤버 간의 차이를 결정하는 @VAR 및 @VARPER와 같은 Calc 함수는 집계 스토리지 아웃라인에서 관련이 없습니다.
MDX 빼기 연산자는 두 멤버 간의 차이를 계산하는 데 사용할 수 있습니다. 예를 들어, 다음 공식을 ASOsamp Basic의 가격 차이라는 새 멤버에 적용하여 지불된 가격과 최초 가격의 차이를 계산할 수 있습니다.
[Price Paid]-[Original Price]집계 저장영역 아웃라인의 차원간 멤버
ASOsamp Basic은 % of Total이라는 멤버에 대한 공식을 제공합니다. 이 멤버 공식은 트랜잭션에서 생성된 측정 합계의 퍼센트를 식별합니다. 합계 % 공식:
Transactions/
(Transactions,Years,Months,[Transaction Type],[Payment Type],
Promotions,Age,[Income Level],Products,Stores,Geography)공식은 튜플(트랜잭션, 연도, ...)으로 나눈 멤버(트랜잭션)를 지정합니다. 공식은 큐브의 모든 트랜잭션 데이터를 고려하기 위해 모든 차원의 최상위 멤버를 나열합니다. 즉, 현재 연도 멤버에 대한 트랜잭션 데이터가 아니라 연도 차원의 모든 멤버에 대한 트랜잭션 데이터입니다. 처음 2분기의 개월에 대한 트랜잭션 데이터가 아니라 모든 월에 대한 트랜잭션 데이터 등입니다. 이 방법으로 총계의 % 값은 트랜잭션에 의해 생성된 측정 합계의 백분율을 나타냅니다.
집계 저장영역 아웃라인에 대한 공식의 조건부 테스트
조건부 테스트 또는 일련의 조건부 테스트를 사용하여 멤버에 대한 값을 결정하는 공식을 정의할 수 있습니다. IIF 함수를 사용하여 다른 조건과 함께 테스트를 수행합니다. IIF 함수를 중첩하여 보다 복잡한 질의를 생성할 수 있습니다.
이 예제에서는 회사가 신용 카드 거래에 대해 지불해야 하는 가격을 나타내는 멤버에 대해 5%의 요금을 포함하는 공식을 지정합니다. 다음 예에서는 실적 가격 멤버가 ASOsamp 기본 큐브의 측정 차원에 추가되었다고 가정합니다. 신용 가격에는 다음 공식이 있습니다. 이 공식은 납부 유형이 신용 카드일 때 납부 가격에 5%를 더합니다.
IIF (
[Payment Type].CurrentMember=[Credit Card],
[Price Paid] * 1.05, [Price Paid]
)CASE, WHEN, THEN 생성자를 사용하여 여러 테스트 및 else 조건이 포함된 공식을 생성합니다.
필터 함수는 지정된 검색 조건의 기준을 충족하는 입력 세트의 튜플을 반환합니다. 예를 들어, 모든 제품에 대한 기준 요소(100)를 설정하려면 다음과 같이 기준 요소 멤버를 추가하고 이에 대한 공식을 생성할 수 있습니다.
Count(Filter(Descendants([PersonalElectronics],
[Products].Levels(0)),[Qtr1] > 100.00))합산 저장영역 아웃라인의 공식에 있는 UDA
UDA는 멤버에 대해 생성한 단어 또는 구입니다. 예를 들어 Sample.Basic에서 시장 차원의 최상위 멤버에는 UDA 소규모 시장 또는 UDA 주요 시장이 있습니다.
이 항목에서 사용되는 주요 시장 예는 모든 주요 시장 구성원의 판매 합계를 표시하는 멤버에 대한 공식을 생성하는 방법을 보여줍니다. 예제에서는 새 멤버(주요 시장 합계)가 Sample.Basic에 추가되었다고 가정합니다.
-
MDX는 멤버에 연관된 UDA 태그가 있을 경우 TRUE를 반환하는 부울 함수 IsUDA를 제공합니다. 시장 차원의 현재 멤버에 UDA "주요 시장"이 있는 경우 다음 구문은 TRUE를 반환합니다.
IsUda([Market].CurrentMember, "Major Market") -
필터 함수는 IsUDA와 함께 사용할 경우(다음 구문 참조) 시장 차원의 각 멤버를 순환하고 주요 시장 UDA가 있는 각 멤버에 대한 값을 반환합니다.
Filter([Market].Members, IsUda([Market].CurrentMember, "Major Market")) -
Sum 함수는 Filter 함수에 의해 반환된 값을 추가합니다. Major Market 예제의 경우 다음 공식이 생성됩니다.
Sum (Filter([Market].Members, IsUda([Market].CurrentMember, "Major Market")))이 공식은 주요 시장 총 멤버에 첨부되어 있습니다.