%macro case_when (case_1,case_2); case when t2.BGT_CNT > 1 then &case_1. else &case_2. end %mend case_when; proc sql ; create table Work.FORE_BGT_&period_file. as select distinct t1.PJT_NO , t1.GUBUN1 , t1.GUBUN2 , t1.GUBUN3 , t1.GUBUN4 , t1.GUBUN5 , t1.Task_Name1 , %case_when(sum(t1.B_Qty) , t1.B_Qty) as B_Qty format comma32. , %case_when("KRW" ,t1.B_Curr) as B_Curr , %case_when(1 ,t1.B_Rate) as B_Rate format comma32.2 , %case_when(sum(B_BGT_Amt) / sum(t1.B_Qty) ,t1.B_Unit) as B_Unit format comma32.1 , %case_when(sum(B_BGT_Amt ,t1.B_BGT_Amt) as B_BGT_Amt format comma32. , %case_when(sum(sum(B_AOP_Amt) ,t1.B_AOP_Amt) as B_AOP_Amt format comma32. From Work.FORE_BGT_RAW_&period_file. as t1 Left Join Work.FORE_BGT_Curr_CNT_&period_file. as t2 on t1.PJT_NO = t2.PJT_NO and t1.GUBUN1 = t2.GUBUN1 and t1.GUBUN2 = t2.GUBUN2 and t1.GUBUN3 = t2.GUBUN3 and t1.GUBUN4 = t2.GUBUN4 and t1.GUBUN5 = t2.GUBUN5 and t1.Task_Name1 = t2.Task_Name1 group by t1.PJT_NO , t1.GUBUN1 , t1.GUBUN2 , t1.GUBUN3 , t1.GUBUN4 , t1.GUBUN5 , t1.Task_Name1 order by t1.PJT_NO , t1.GUBUN1 , t1.Task_Name1 , t1.GUBUN2 , t1.GUBUN3 , t1.GUBUN4 , t1.GUBUN5 ; quit;
... View more