我有成千上萬的文件名CLICK,它們都駐留在我的linux上的不同文件夾中。我已將每個文件夾分配給一個庫,並且我試圖提取每個單擊文件(並最終追加,而不是下面顯示的代碼中)。這是我做了什麼在SAS中循環使用庫
`%let listlib=
A B C;
%macro char_loop();
%let i=1;
%let v=%scan(&listlib,&i);
%do %while(&v ne) ;
data click&v;
set &v.click;
type = &v;
run;
%let i=%eval(&i+1);
%let v=%scan(&listlib,&i);
%end;
%mend;
%char_loop;`
然而,似乎SAS無法遍歷「設置& v.click;」,從而正在改變庫。日誌說「WORK.ACLICK.DATA不存在」。我在這裏錯過了什麼?
感謝'indsname'選擇!尚未在文檔中注意到它!這比笨重的數組從'in'變量中構建'type'要好得多。 – user3272403
@alexander如果您不熟悉,您可能需要閱讀字典表和sashelp視圖;他們可以非常有幫助。 「Dictionary.table」包含庫和數據集名稱(memname),以及指定庫中每個數據集的** Many **其他屬性。如果您預先分配了數千個庫,那麼從它們提取數據有時需要一段時間,尤其是在您使用其中一個視圖時。 這裏是9.4文檔: http://support.sas.com/documentation/cdl/en/sqlproc/65065/HTML/default/viewer.htm#n02s19q65mw08gn140bwfdh7spx7.htm – user3272403
輝煌!並感謝您的額外閱讀。這非常有幫助。 – Alexander