gpt4 book ai didi

sas - SAS 中不匹配的引号问题

转载 作者:行者123 更新时间:2023-12-04 21:12:14 32 4
gpt4 key购买 nike

众所周知,SAS需要特别注意句子中的引号。

例如

%let quoted="I'd like to";
data temp;
set temp;
quoted="&quoted";
run;

提交时遇到错误

其实我需要从另一个数据集复制数据到一个数据集中,其中有很多包含引号的记录。赋值时,发生错误,数据步停止执行,导致其余代码无效。所以在这种情况下,不可能通过添加重复的引号来修改原始数据集,这是没有意义的。

因此,除了必须添加重复的,例如“我想”,还有其他方法可以避免错误,或者让数据步骤继续执行吗?

谢谢,

最佳答案

当使用宏语言(包括 %let 命令)时,您不想使用引号来标识文本字符串。要在字符串中放置单引号,您必须使用宏实用程序屏蔽函数之一,例如 %str()。使用 %let 在宏变量中放置单个不匹配引号的正确语法如下所示。单引号前的 % 符号是一个转义字符,用于告诉 SAS 下面的字符(单引号)应该用作文字。另请注意,我已经从 %let 中删除了双引号,因为它们不是必需的。

%let quoted=%str(I%'d like to);
data temp;
quoted="&quoted";
run;

干杯罗布

关于sas - SAS 中不匹配的引号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5944628/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com