검증 프로세스의 일부로 Essbase 계산 스크립트를 사용하는 구성 가능 계산 또는 주문형 규칙을 생성 및 검증하는 경우 Financial Consolidation and Close에서는 규칙을 실행할 때 성능 저하를 일으킬 수 있는 이슈에 대한 경고를 제공합니다. 이러한 경고를 보려면 Calculation Manager에서 오류 및 경고 탭을 선택하고 녹색 버튼을 눌러 스크립트 진단을 실행합니다.
다음 스크린샷에서 녹색으로 강조 표시된 셀은 Financial Consolidation and Close의 경고입니다. 표시된 다른 경고는 Calculation Manager의 경고입니다.
주:
Financial Consolidation and Close 규칙 검증 경고는 권장 사항 모듈에도 표시됩니다. 애플리케이션 권장사항 보기를 참조하십시오.
경고 메시지는 스크립트의 행 번호를 기준으로 정렬되고 표시됩니다.
Calculation Manager에서 규칙 검증 경고를 보려면 다음을 수행합니다.
다음 섹션에서는 규칙 검증 경고를 해결하는 방법에 대한 세부정보를 제공합니다.
앵커 사용을 위한 Calc Manager 스크립트 검증
Calc Manager 스크립트에서 앵커를 올바르게 사용하려면 다음 지침을 따릅니다.
비DSO 애플리케이션의 경우
구성 가능 계산(삽입 지점)의 경우 시나리오, 연도, 기간, 엔티티 또는 뷰의 멤버를 앵커로 선택할 수 없습니다.
ODR(주문형 규칙)의 경우 시나리오, 연도, 기간, 엔티티, 연결 또는 통화의 멤버를 앵커로 선택할 수 없습니다.
밀집 차원의 멤버를 앵커로 사용하지 마십시오. 비DSO 애플리케이션의 경우 계정이 밀집 차원입니다. 밀집 멤버 블록의 경우 CALCMODE(상향식)에서 성능 이점을 제공하지 않습니다.
DSO 애플리케이션의 경우
DSO 애플리케이션에서는 이동이 밀집 차원입니다. 비DSO에서 DSO 애플리케이션으로 이동하는 경우 이동 차원의 멤버가 앵커가 아닌지 확인해야 합니다. DSO 애플리케이션에서 계정은 희소 차원이므로 계정 차원의 멤버를 멤버 블록의 앵커로 선택할 수 있습니다.
계정 멤버를 앵커로 선택할 수 없는 경우 다른 희소 차원의 멤버를 앵커로 선택합니다.
구성 가능 계산(삽입 지점)의 경우 시나리오, 연도, 기간, 엔티티 또는 뷰(밀집)의 멤버를 앵커로 선택할 수 없습니다.
ODR(주문형 규칙)의 경우 시나리오, 연도, 기간, 엔티티, 연결 또는 통화의 멤버를 앵커로 선택할 수 없습니다.
밀집 차원의 멤버를 앵커로 사용하지 마십시오. DSO 애플리케이션에서는 이동 및 기간이 밀집 차원입니다. 밀집 멤버 블록의 경우 CALCMODE(상향식)에서 성능 이점을 제공하지 않습니다.
다음은 비DSO 애플리케이션의 구성 가능 계산(삽입 규칙) 예입니다. 각 행에는 행 번호인 #이 표시됩니다.
#1 FIX ("FCCS_Periodic", "FCCS_Journal Input", "FCCS_Managed Data", "IFRS_IN ", "Entity Currency", "FCCS_Mvmts_NetIncome", @relative("Total Categories", 0), @relative("Total Area", 0), @LEVMBRS("Intercompany", 0) @relative("Total Custom", 0)) #2 "FCCS_Entity Input" ( #3 IF (@ISMBR("Actual_Red")) #4 IF (@ISUDA("Entity", "B10") AND ("FCCS_Mvmts_NetIncome" <> #Missing)) #5 ENDIF #6 ENDIF #7 ) #8 ENDFIX
이 스크립트 예에서는 규칙 검증 프로세스가 다음 경고를 생성합니다.
2행: 앵커 멤버 FCCS_Entity Input 대신 이동 멤버 FCCS_Mvmts_NetIncome을 앵커로 사용하십시오.
다음은 DSO 애플리케이션의 구성 가능 계산(삽입 규칙) 예입니다. 각 행에는 행 번호인 #이 표시됩니다.
#1 FIX("FCCS_Periodic","FCCS_No Intercompany","No operating Expense","Product1 ","CORP_IN","IC_PROFIT_ACC ") #2 "FCCS_Managed Data"( #3 @CALCMODE(BOTTOMUP); #4 IF (@ISMBR("FY21")) #5 "FCCS_OpeningBalanceAdjustment"=10; #6 ENDIF #7 ) #8 ENDFIX
이 스크립트 예에서는 규칙 검증 프로세스가 다음 경고를 생성합니다.
2행: 앵커 멤버 FCCS_Managed Data 대신 계정 멤버 IC_PROFIT_ACC를 앵커로 사용하십시오.
@CALCMODE(상향식)를 위한 Calc Manager 스크립트 검증
@CALCMODE(상향식) 대 @CALCMODE(하향식)
Financial Consolidation and Close에서는 구성 가능 계산(삽입 지점) 또는 ODR(주문형 규칙) 사용 계산이 더 빠르게 수행되도록 하향식보다 상향식 사용을 권장합니다.
기본 계산 방식인 상향식 중에는 Essbase가 희소 멤버 블록을 사용하는 데이터를 계산하기 전에 계산이 필요한 기존 데이터 블록을 결정합니다. 그런 다음, 전체 데이터베이스 계산 중 계산이 필요한 블록만 Essbase에서 계산합니다.
예: A = B + C
A는 B 및 C가 데이터베이스에 있는 경우에만 계산됩니다. B 및 C에 대한 A의 종속성은 실제 계산이 시작되기 전에 알려집니다.
하향식 중에는 Essbase가 멤버 블록에서 희소 멤버를 사용하는 모든 가능한 데이터 블록에 대한 공식을 계산합니다.
예: A = B -> D + C -> D
이 공식을 계산하려면 Essbase는 A의 모든 조합을 검사하여 B -> D 또는 C -> D가 존재하는지 확인해야 합니다.
Essbase는 본질적으로 복합 공식이 아닌 경우 상향식을 기본 메커니즘으로 사용하여 희소 멤버에 지정된 공식을 계산합니다. 복합 공식인 경우 하향식을 실행합니다.
복합 표현식은 다음 기준을 충족하는 표현식입니다.
교차 차원 연산자 [ -> ]가 포함되어 있습니다.
@AVGRANGE, @MAXRANGE, @MINRANGE, @SUMRANGE 등 범위 함수를 1개 이상 사용합니다.
@ANCESTVAL, @NEXT, @PARENTVAL, @SHIFT, @ACCUM, @GROWTH 등 관계 또는 재무 함수를 사용합니다.
이런 경우 Essbase는 희소 공식 계산을 적용하여 상향식을 실행하는 @CALCMODE(상향식) 함수를 제공합니다.
다음은 구성 가능 계산(삽입 규칙) 예입니다. 각 행에는 행 번호인 #이 표시됩니다.
#1 FIX ("FCCS_Periodic", "FCCS_Entity Input", "Entity Currency", "FCCS_ClosingBalance_Input","FCCS_Balance Sheet","FCCS_Total Data Source") #2 "FCCS_Income_Statement"( #3 "FCCS_Movements"=@CURRMBR("Entity")->"FCCS_Contribution" -> "FCCS_Movements"; #4 ) #5 ENDFIX
이 스크립트 예에서는 규칙 검증 프로세스가 다음 경고를 생성합니다.
2행: 멤버 블록 FCCS_Income_Statement에 @CalcMode(상향식)를 사용하십시오.
자세한 내용은 https://docs.oracle.com/cd/E57185_01/ESBTR/calcmode_func.html 항목을 참조하십시오.
하이브리드 BSO를 위한 Calc Manager 스크립트 검증
하이브리드 Financial Consolidation and Close 애플리케이션의 경우 최상의 성능 결과를 얻으려면 해당하는 경우 항상 HYBRIDBSOINCALCSCRIPT NONE/FULL을 설정하는 것이 좋습니다.
기본적으로 구성 가능 계산(삽입 규칙)은 HYBRIDBSOINCALCSCRIPT가 FULL로 설정되고 주문형 규칙은 HYBRIDBSOINCALCSCRIPT가 NONE으로 설정됩니다.
규칙 검증 프로세스에서는 저장영역 유형이 동적 계산인 CustomTop 차원 멤버가 스크립트에 포함되어 있는지 확인합니다.
다음은 주문형 규칙 예입니다. 각 행에는 행 번호인 #이 표시됩니다.
#1 FIX ("FCCS_Periodic", "FCCS_No Intercompany", "No Product", "FCCS_Mvmts_NetIncome", @RELATIVE("AllDepts", 0), "No Department") #2 FIX (@RELATIVE("TotalHFM", 0)) #3 "StkCmpRev_CE" = -("555011_CE"->"FCCS_YTD"->"FCCS_Intercompany Top") - ("555012_CE"->"FCCS_YTD"->"FCC_Intercompany Top"); #4 ENDFIX #5 ENDFIX
이 스크립트 예에서는 규칙 검증 프로세스가 다음 경고를 생성합니다.
3행: SET HYBRIDBSOINCALCSCRIPT NONE을 사용하여 이 블록의 하이브리드 계산을 사용 안함으로 설정하십시오.
자세한 내용은 https://docs.oracle.com/en/cloud/paas/analytics-cloud/tress/hybridbsoincalcscript.html을 참조하십시오.
@CALCMODE(블록)를 위한 Calc Manager 스크립트 검증
이 특정 사용 사례의 경우 Financial Consolidation and Close는 성능 향상을 위해 적용 가능한 경우마다 @CalcMode(블록)를 추가하는 것을 권장합니다.
@CalcMode(블록)에 대한 자세한 내용은 https://docs.oracle.com/cd/E57185_01/ESBTR/calcmode_func.html 항목을 참조하십시오.
DSO 및 비DSO 애플리케이션의 앵커 블록 내에 @CALCMODE(블록)가 필요한지 확인하기 위해 규칙 검증 프로세스는 다음 조건을 확인합니다.
앵커 블록의 표현식이 복합인지
표현식에 @ANCEST, @CURRMBR, 밀집 멤버에 대한 @ISMBR, @MDANCESTVAL, @MDPARENTVAL, @MDSHIFT, @NEXT, @PARENT, @PARENTVAL, @PRIOR, @SANCESTVAL, @SPARENTVAL, @SHIFT와 같은 특정 함수가 포함되어 있는지
이러한 조건이 충족되면 검증 프로세스에서 행 번호가 포함된 경고를 발행합니다.
다음은 구성 가능 계산(삽입 규칙) 예입니다. 각 행에는 행 번호인 #이 표시됩니다.
#1 FIX ("FCCS_Periodic", "FCCS_Entity Input", "Entity Currency", "FCCS_ClosingBalance_Input","FCCS_Balance Sheet","FCCS_Total Data Source") #2 "FCCS_Income_Statement"( #3 "FCCS_Movements"=@CURRMBR("Entity")->"FCCS_Contribution" -> "FCCS_Movements"; #4 ) #5 ENDFIX
이 스크립트 예에서는 규칙 검증 프로세스가 다음 경고를 생성합니다.
2행: 멤버 블록 FCCS_Income_Statement에 @CalcMode(블록)를 사용하십시오.