列表处理是您需要处理此类事情的概念。在某些情况下,您还可以使用 BY 组处理或在图形面板的情况下解决此问题。
从您方便的来源创建包含变量列表的数据集。这可以是一个 excel 或文本文件,或者如果有办法以编程方式告诉您需要哪些变量,则可以从您的数据中创建它。
然后,您可以使用多种方法中的任何一种来生成:
proc sql;
select cats('%graph(',var,')')
into: graphlist separated by ' '
from yourdata;
quit;
&graphlist
例如。
在您的情况下,您还可以生成每个变量一行的垂直数据集,这可能更容易确定哪些变量是正确的:
data citiwk;
set sashelp.citiwk;
var='COM';
val=WSPCA;
output;
var='UTI';
val=WSPUA;
output;
var='INDU';
val=WSPIA;
output;
val=WSPGLT;
var='GOV';
output;
keep val var date;
run;
proc sort data=citiwk;
by var date;
run;
proc sgplot data=citiwk;
by var;
series x=date y=val;
run;
虽然我对这四个进行了硬编码,但您可以轻松地创建一个数组并使用 VNAME() 来获取变量名或 VLABEL() 来获取每个数组元素的变量标签。