mj0*_*119 3 sas quotation-marks
众所周知,SAS需要特别注意句子中的引号.
例如
%let quoted="I'd like to";
data temp;
set temp;
quoted=""ed";
run;
Run Code Online (Sandbox Code Playgroud)
提交时遇到错误.
实际上,我需要将数据复制到另一个数据集中,其中有很多记录包含引号.分配时,错误发生者和数据步骤停止执行,导致其余代码无效.因此,在这种情况下,通过添加重复的引号来修改原始数据集是不可能的,这是没有意义的.
因此,没有必要添加一个重复的,例如,"我想",是否有任何其他方法可以避免错误,或使数据步骤保持执行?
谢谢,
使用宏语言(包括%let命令)时,您不希望使用引号来标识文本字符串.要在字符串中放置单引号,必须使用宏实用程序掩码函数之一,例如%str().使用%let在宏变量中放置单个不匹配引号的正确语法如下所示.单引号前面的%符号是一个转义字符,用于告诉SAS应将以下字符(单引号)用作文字.另请注意,我已从%let中删除了双引号,因为它们不是必需的.
%let quoted=%str(I%'d like to);
data temp;
quoted=""ed";
run;
Run Code Online (Sandbox Code Playgroud)
干杯罗布