在 SAS 中为 proc freq where 语句创建循环

问题描述 投票:0回答:1

我对一个变量有多个条件 where 语句,例如:

where del="AG"; *argentina;

where del="BL"; *brazil;

等等

我想执行以下过程频率:

proc freq data=latam;
tables hem*year/missing norow nopercent;
where del="AG"; *argentina;
run; 

循环遍历 DEL 的所有这些值:

"AG"="ARGENTINA"
"BL"="BRAZIL"
"BO"="BOLIVIA"
"CK"="COLOMBIA"
"CL"="CHILE"
"CR"="COSTA RICA"
"CU"="CUBA"
"DR"="DOMINICAN REPUBLIC"
"EC"="ECUADOR"
"ES"="EL SALVADOR"
"GT"="GUATEMALA"
"HO"="HONDURAS"
"MX"="MEXICO"
"NQ"="NICARAGUA"
"PE"="PERU"
"PN"="PANAMA"
"PR"="PUERTO RICO"
"PY"="PARAGUAY"
"UY"="URUGUAY"
"VE"="VENEZUELA"

我该如何写这个,这样我就不必为每个国家重复这个过程?

sas sas-macro do-loops
1个回答
0
投票

欢迎来到 SAS。使用

BY
语句。

proc sort data=latam;
  by del;
run;
proc freq data=latam;
  by del;
  tables hem*year/missing norow nopercent;
run; 
© www.soinside.com 2019 - 2024. All rights reserved.