我需要分别获得 75 列中 75 个值的百分比。而且我想使用一个do循环,所以我不必硬编码75次。有一些条件,所以会有一个 where 语句。
我没有正确获得 do 循环,但我正在使用以下内容获取百分比
case when (SUM(t1.sam)) >0 then
((SUM(t1.sam))/(SUM(t1.sam_Threshold)))*100
else 0
end
我尝试了以下,它更好一点:
data test;
i_1=4;
i_2=8;
i_3=4;
i_4=8;
V_ANN_V_INSP=24;
run;
%macro loop();
%let numcols=4;
proc sql;
create table test3 as
select V_ANN_V_INSP,
%do i=1 %to &numcols;
(i_&i/V_ANN_V_INSP)*100 as i_&i._perc
%if &i<&numcols %then %do;,
%end;
%end;
from test;
quit;
%mend;
%loop();