proc sql;
create table leave.mnths_levae_rat as
SELECT MNTHS_flag,N_LEAVE/N_ALL AS LEAVE_RATE,N_ALL,N_LEAVE,ORD FROM
(select A.MNTHS_flag,A.OFF_FLAG AS N_ALL,B.OFF_FLAG AS N_LEAVE,
CASE
WHEN A.MNTHS_flag= '(low,2)' THEN 1
WHEN A.MNTHS_flag= '(3,5)' THEN 2
WHEN A.MNTHS_flag= '(6,10)' THEN 3
WHEN A.MNTHS_flag= '(11,16)' THEN 4
WHEN A.MNTHS_flag= '(17,24)' THEN 5
WHEN A.MNTHS_flag= '(25,33)' THEN 6
WHEN A.MNTHS_flag= '(34,48)' THEN 7
WHEN A.MNTHS_flag= '(49,75)' THEN 8
WHEN A.MNTHS_flag= '(76,103)' THEN 9
WHEN A.MNTHS_flag= '(104,high)' THEN 10
ELSE .
END AS ORD
FROM leave.mnths_toji AS A JOIN leave.mnths_toji2 AS B
ON A.MNTHS_flag=B.MNTHS_flag
WHERE A._STAT_='N' AND B._STAT_='N'
)
ORDER BY ORD
;
QUIT;
proc sort data=leave.mnths_levae_rat;
by ORD;
run;