我需要爲datastep的每次迭代(每個n)聲明一個變量,但是當我運行代碼時,SAS將只輸出最後一個變量聲明,最大n。使用_n_命名變量,爲每個迭代的datastep命名爲
這似乎很愚蠢的聲明每行的變量,但我需要實現這個結果,我正在處理一個由frec freq創建的數據集,並且我需要爲每個組(每行數據集) 。
結果將在宏中,所以它必須是完全靈活的。
proc freq data=&data noprint ;
table &group/out=frgroup;
run;
data group1;
set group (keep=&group count) end=eof;
call symput('gr', _n_);
*REQUESTED code will go here;
run;
我嘗試這些:
var&gr.=.;
call missing(var&gr.);
和其他很多說法,但沒有奏效。 總是相同的結果,ds僅包括var & gr其中& gr是最大值n。
似乎PDV每次迭代都覆蓋新變量,但名稱不同。 請將結果包含在單個datastep中,或者至少讓代碼儘可能少花時間。
關於如何達到要求的結果的任何想法?
謝謝。
,請不要因爲我需要爲每行3列,使用PROC轉right_&GR sep_&GR left_&GR,這將通過一些數據,然後消耗臭氧層物質的輸出供給。 – stat
另外,我可以使用調用執行來解決這個問題,但如果可能的話,我正在尋找一個不需要那個時間的解決方案,一個簡單的變量聲明會很棒。 – stat