There is a little tricky on case when in proc sql, when it only use equal value, it ok with case var= when, or case when var=, but if there is compare or between, it must be used case when var bwtween... and.... Here are examples: proc sql; select *, case when age<=13 then 1 when age between 14 and 15 then 2 else 3 end as group from sashelp.class; select *, case sex when 'M' then 1 else 2 end as gender from sashelp.class; select *, case when sex='M' then 1 else 2 end as gender from sashelp.class; quit; There are not any problem those expression, but it is wrong for this: proc sql; select *, case age when <=13 then 1 when between 14 and 15 then 2 else 3 end as group from sashelp.class; quit;
... View more