我有以下變量:A_Bldg B_Bldg C_Bldg D_Bldg
。我想乘以並將結果存儲在一個新變量Sale_i
中。例如,A_Bldg * INTSF = Sale_A
,B_Bldg * INTSF = Sale_B
等等。宏以循環變量並存儲結果SAS
我的代碼是:
%macro loopit(mylist);
%let n=%sysfunc(countw(&mylist));
%do J = 1 %to &n;
%let i = %scan(&mylist,&J);
data test;
set data;
sale_&i. = &i._Bldg * INTSF;
run;
%end;
%mend;
%let list = A B C D;
%loopit(&list);
這隻會產生Sale_D
,這是在列表中的最後一個字母。我如何獲得Sales A-C
?前四行代碼是我可以遍歷文本A-D。我想過用數組來做這件事,但不知道如何根據A-D指標選擇變量。謝謝你的幫助!
這工作!謝謝你的幫助! – user3910919