我試圖導入.csv文件,但在路徑中存在bp & d中的特殊字符(&),它顯示錯誤爲警告:顯式符號引用D不是解決。我該怎麼做。如何在導入到SAS時解析外部符號引用
proc import datafile="\pa-storage\bp&d\fot\PRODUCTS\Daa-SQN\ATA\Pss10_ALL_IN_ALL.csv" out=test dbms=csv replace; getnames=yes; run;
我試圖導入.csv文件,但在路徑中存在bp & d中的特殊字符(&),它顯示錯誤爲警告:顯式符號引用D不是解決。我該怎麼做。如何在導入到SAS時解析外部符號引用
proc import datafile="\pa-storage\bp&d\fot\PRODUCTS\Daa-SQN\ATA\Pss10_ALL_IN_ALL.csv" out=test dbms=csv replace; getnames=yes; run;
使用單引號('
)而不是雙("
)。然後,SAS會將引用的路徑解釋爲字符串,而不嘗試解析其包含的明顯的宏變量(始終以&
開頭)。
我更喜歡一般使用單引號,並且只在明確要包含宏變量時才使用雙引號。
如果因爲某些原因需要雙引號(比如想要解析的實際宏變量),可以使用多種方法來解決這個問題。最簡單的方法是將&
包裝在%str()
中。
%put Some &s here;
%put Some %str(&)s here;
您也可以包裝串的%nrstr
部分(或全部的它,你不想有宏變量)或任何其他宏觀與nr
初始化引用。
%put %nrstr(Some &s here);
這是一個警告,而不是一個錯誤。傑夫的解決方案應該讓它消失;你也可以忽略它,如果你選擇的話(儘管最好讓它消失)。只有'ERROR:'專門防止某個datastep處理(儘管警告或甚至Notes可能表明存在問題)。 – Joe 2014-11-06 18:03:23