본문 바로가기

Etc.

크리스탈 리포트 누적 합계 계산

 

 

 

계산식 : 목표달성율 = ( 실적합계 / 당월목표 ) * 100

 

나머지 항목들은 누적합계 필드를 이용하여 합계 값을 Display했으나 목표달성율은 누적합계의 항목들로 계산을 해야한다.

 

 

 

①. 초기화 수식 필드를 만든다.( 페이지 머리글에 넣을 경우 페이지가 바뀔때 마다 초기화 되니 주의하도록 한다.)

g3init_cal_goal_rate

shared numbervar cal_goal_rate3 := 0;

g3init_sum_goal_cnt3

shared numbervar sum_goal_cnt3 := 0;

g3init_sum_tot_rent_sale

shared numbervar sum_tot_rent_sale3 := 0;

 

 

②. 합계용 수식 필드를 만든다. (반복문의 내부이고 누적으로 쌓인다.)

g3sum_goal_cnt3

shared numbervar sum_goal_cnt3 := sum_goal_cnt3 + {dtSASLES.GOAL_CNT};

g3init_sum_tot_rent_sale
    shared numbervar
sum_tot_rent_sale3 := sum_tot_rent_sale3 + {dtSASLES.TOT_RENT_SALE};

 

③. Display 수식 필드를 만든다. (분모가 0인 경우를 주의하도록 한다.)

g3cal_goal_rate

shared numbervar cal_goal_rate3;
shared numbervar sum_tot_rent_sale3;
shared numbervar sum_goal_cnt3;

if sum_goal_cnt3 = 0 then cal_goal_rate3 := 0 else
cal_goal_rate3 := sum_tot_rent_sale3 / sum_goal_cnt3 * 100;

 

------------------------------------------------------------------------------------------------------------------------------------

추가사항 - ①. ② 스크립트는 객체 하나만 생성하여 스크립트를 합쳐도 됨.

g123init

shared numbervar sum_goal_cnt3 := 0;

shared numbervar sum_tot_rent_sale3 := 0;

g123sum

shared numbervar sum_goal_cnt3 := sum_goal_cnt3 + {dtSASLES.GOAL_CNT};

shared numbervar sum_tot_rent_sale3 := sum_tot_rent_sale3 + {dtSASLES.TOT_RENT_SALE}; 

------------------------------------------------------------------------------------------------------------------------------------