잘못된 규칙 디자인 확인
모범 사례로 올바른 결과와 최적의 성능이 보장되도록 하려면 항상 계산이 실행될 차원 및 멤버를 지정하십시오.
연결 규칙 성능을 최적화하려면 계산 범위를 필요한 차원 및 멤버로 제한해야 합니다. 필요한 차원 및 멤버를 계산에 추가하지 않으면 모든 가능한 멤버 조합에 대해 규칙이 실행됩니다. 예를 들어 다음 샘플 규칙에서는 사용자정의 차원 멤버 No Department
에 대해서만 계산을 실행해야 합니다. 소스에서 차원 멤버를 추가하면 No Department
에 대해서만 규칙이 실행되도록 하여 실행 속도가 빨라집니다.
규칙 소스(계정 차원)에서 다중 저장 멤버 확인
연결 규칙 소스의 여러 레벨 0 저장 계정이 단일 대상 계정으로 리디렉션되면 성능이 저하될 수 있습니다. 이러한 시나리오에서는 저장된 데이터 저장영역을 사용하여 자리 표시자 계정 멤버를 생성하고 FCCS_110(단일 통화 애플리케이션) 또는 FCCS_30(다중 통화 애플리케이션)으로 삽입 규칙을 작성하여 1차 하위 금액을 리디렉션하는 것이 좋습니다. 그러면 동적 상위 대신 연결 규칙 소스의 자리 표시자 계정을 사용하여 규칙이 보다 빠르게 실행되도록 할 수 있습니다.
사용 사례: 구성 가능한 연결 규칙을 배포한 후 성능 이슈 해결
이 예에서는 애플리케이션에 있는 많은 P/L 계정 중 하나인 동적 상위 Retained Earnings Current
아래에 100개의 P/L 계정(Acc_001 ~ Acc_100)이 있다고 가정합니다. 다음 그래픽을 참조하십시오.
참조를 통해 직접 또는 간접적으로 Retained Earnings Current
를 소스로 사용하는 규칙이 다음 그래픽에 설명되어 있습니다.
앞의 간접 참조에서는 Retained Earnings Current
의 모든 레벨 0 1차 하위가 Total Equity
아래에 있으므로 간접적으로 소스의 일부입니다.
규칙 정의를 변경하고 리디렉션 스크립트를 추가하여 규칙 실행을 더 빠르게 하는 단계는 다음과 같습니다.
FCCS_BalanceSheet 아래에 이름이 Retained Earning_Memo인 메모 계정을 생성합니다. 연결 연산자는 무시(~)로 설정하고 데이터 저장영역은 저장으로 설정합니다. 모든 다른 등록정보는 동적 상위의 등록정보와 동일합니다. 아래 그림에 표시된 것처럼 Retained Earning_Memo 자리 표시자 계정에 Retained Earnings Current에 대한 값이 포함됩니다.
SET HYBRIDBSOINCALCSCRIPT NONE;// Use with Hybrid environments only. FIX("FCCS_Entity Input", "Parent Currency", "Opening Balance", @RELATIVE("FCCS_Total Data Source", 0), @RELATIVE("FCCS_Intercompany Top", 0)) "Retained Earning_Memo" ( @CALCMODE(BOTTOMUP); @SUM(@RELATIVE("FCCS_Retained Earnings Current", 0) AND @LIST(@UDA("Account", "REVENUE") OR @UDA("Account", "LIABILITY") OR @UDA("Account", "EQUITY") OR @UDA("Account", "SAVED ASSUMPTION"))) - @SUM(@RELATIVE("FCCS_Retained Earnings Current", 0) AND @LIST(@UDA("Account", "EXPENSE") OR @UDA("Account", "ASSET"))); ) ENDFIX
다음 그림은 이 사용 사례에 나오는 권장사항을 구현한 이후의 규칙을 보여 줍니다.
다음 그림은 이 사용 사례에 나오는 권장사항을 구현한 이후의 규칙을 보여 줍니다.