예제 비즈니스 규칙

  • 이 예에서는 5개의 연간 누계 멤버 "4110_UTD", "4120_YTD", "4130_YTD", "4140_YTD", "4150_YTD"를 계정 차원에 추가했습니다. 그런 다음, 비즈니스 규칙을 생성했습니다.


    5개의 연간 누계 멤버가 계정 차원에 추가된 비즈니스 규칙 예

    이 비즈니스 규칙은 두 개의 YTD 계정을 계산한 다음 제품엔티티 차원을 통해 값을 집계합니다.

  • 성공한 항목만이 선택된 로그 메시지를 보면 가장 많은 규칙 시간이 일차 통과에서 사용된 것을 확인할 수 있습니다.


    성공한 항목만이 선택된 로그 메시지

  • 성공한 항목만을 선택 취소하면 로그의 pass1 섹션에서 블록 읽기/쓰기 수를 확인할 수 있습니다.


    성공한 항목만이 선택 취소된 로그 메시지

  • 구문을 검토하면 계산에 엔티티제품에 대한 수정 사항이 없음을 확인할 수 있습니다. 따라서 모든 규칙이 엔티티제품의 모든 레벨에서 수행되고 있습니다. 2차 통과의 AGG 문으로 덮어쓰기되므로 pass1의 상위 레벨 계산 요구사항은 없습니다.


    계산에 엔티티 및 제품에 대한 수정 사항이 없음을 보여주는 스크린샷

  • 규칙이 검토되고, 엔티티제품의 lev0을 Pass1에 추가하기 위해 Fix 문이 더 추가됩니다.


    엔티티 및 제품의 lev1을 Pass1에 추가하기 위해 Fix 문이 더 추가된 규칙

  • 그런 다음, 규칙이 다시 실행됩니다.

  • 변경사항을 적용하면 Pass1이 여전히 가장 긴 시간을 사용하지만 이제 상위 레벨 블록이 더 이상 불필요하게 계산되지 않기 때문에 20% 더 빠릅니다. 전체 계산 시간도 20% 향상됩니다.


    20% 더 빠른 계산 시간을 표시하는 로그 메시지 탭

  • 성공한 항목만을 선택 취소하면 변경 후 로그의 Pass1 섹션에 있는 블록 읽기/쓰기 수가 감소하는 것을 확인할 수 있습니다.


    규칙 변경 이전의 계산기 정보 메시지를 보여주는 스크린샷


    규칙 변경 이후의 계산기 정보 메시지를 보여주는 스크린샷

  • 활동 보고서에서 볼 수 있듯이, 이 경우 전체 비즈니스 규칙(두 개의 통과 모두)에 대한 읽기 및 쓰기가 줄어듭니다.


    규칙 변경 이전과 규칙 변경 이후 성능이 가장 나쁜 계산 스크립트 5개를 보여주는 스크린샷