我試圖通過編寫下面SAS代碼,但我得到的是表1.我想不出什麼我錯過了構建表2。非常感謝幫助,謝謝。SAS SymputX和Symget功能
&counter = 4
data new;set set1;
total = 0;
a = 1;
do i = 1 to &counter;
call symputX('a',a);
total = total + Tem_&a.;
a = symget('a')+1;
call symputX('a',a);
end;
run;
Table 1
ID Amt Tem_1 Tem_2 Tem_3 Tem_4 total
4 500 1 4 5 900 3600
5 200 50 100 200 0 0
9 50 40 0 0 0 0
10 500 70 100 250 0 0
Table 2
ID Amt Tem_1 Tem_2 Tem_3 Tem_4 total
4 500 1 4 5 900 910
5 200 50 100 200 0 350
9 50 40 0 0 0 40
10 500 70 100 250 0 420
太感謝你了,喬! –
@Joe可能應該用宏變量引用替換硬編碼的上界或者刪除宏變量引用。現在,如果COUNTER不是4,您將遇到問題。 – Tom
同意@tom,儘管我沒有這樣做的原因是爲了不顯示代碼與原始代碼非常相似以顯示相似之處。 – Joe