如何在导入到SAS时解析外部符号引用

问题描述:

我试图导入.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;

+0

这是一个警告,而不是一个错误。杰夫的解决方案应该让它消失;你也可以忽略它,如果你选择的话(尽管最好让它消失)。只有'ERROR:'专门防止某个datastep处理(尽管警告或甚至Notes可能表明存在问题)。 – Joe 2014-11-06 18:03:23

使用单引号(')而不是双(")。然后,SAS会将​​引用的路径解释为字符串,而不尝试解析其包含的明显的宏变量(始终以&开头)。

我更喜欢一般使用单引号,并且只在明确要包含宏变量时才使用双引号。

如果因为某些原因需要双引号(比如想要解析的实际宏变量),可以使用多种方法来解决这个问题。最简单的方法是将&包装在%str()中。

%put Some &s here; 

%put Some %str(&)s here; 

您也可以包装串的%nrstr部分(或全部的它,你不想有宏变量)或任何其他宏观与nr初始化引用。

%put %nrstr(Some &s here);