2017-04-25 99 views
2

我有一個SAS數據集,其中有一列包含我想用作宏變量的值。說的SAS數據集看起來像這樣有一列:使用變量值作爲宏變量的值

varname 
34 
367 
399 
87 

我要的是所有在列中的值,成爲在宏變量一個連接字符串(適合於使用在if聲明與in運營商)。其結果將是相同的:

%let var = %str('34','367','399','87');

我將如何做到這一點?

回答

5

我會用PROC SQL,但也有其他的方法:

proc sql noprint; 
select "'" || varname || "'" 
    into :var separated by ',' 
    from have; 
quit; 

%put var: &var; 

這將串聯變量值兩邊有一個'separated by件將在所有值之間放置一個,:var通知SQL將結果保存在名爲var的宏中;