我寫了一個SAS宏有點像這樣...在SAS 9.2中,如何清除URL fileref?
%macro (myname=,myurl=);
filename myfile URL "&myurl";
data &myname;
infile myfile dlm=',';
input field1 field2;
run;
%mend;
它的工作一次,但每當我再次運行它,我得到消息記錄說:
ERROR: At least one file associated with fileref MYFILE is still in use.
ERROR: Error in FILENAME statement.
我也得到這些消息如果我嘗試filename myfile CLEAR
或filename myfile NULL
另外,如果我使用多個URL運行它,則只創建第一個數據集,而其他數據集則是其精確副本。
我無法訪問SAS配置文件。我必須解決這個問題,沒有任何管理權限。
謝謝。
我試過了fileref創建動態的名字和我'錯誤:無效的邏輯name.''錯誤:錯誤在文件名語句中'。這是否意味着SAS不允許將變量用作fileref? – f1r3br4nd
顯然,如果您給您的fileref的名稱超過8個字符,它會被截斷,並且出於某種原因導致SAS按照該名稱查找SYS32文件夾中的物理文件,而不是查看您指定的URL。使用短的,動態生成的fileref名稱可以讓我使用具有多個URL的宏。但是,這是一個醜陋的,醜陋的解決方案,它會拋棄不會消失的filerefs環境,我真的希望有人知道更乾淨的方式來做到這一點。 – f1r3br4nd
我沒有這個代碼的問題(當然,修復一些小的語法問題,但肯定不是你的問題)。它重新運行良好(使用隨機網站)。如果您使用google.com或sas.com等少數網址,它是否適合您?它是特定於您正在使用的文件/服務器/連接的東西嗎?至少,宏中的數據步驟是否像第一次所期望的那樣運行? – Joe