【发布时间】:2021-08-11 06:15:37
【问题描述】:
我已经为此工作了 3 天,并尝试了所有我能想到的方法,包括 %str()、%bquote()、translate() 和 tranwrd() 以用双撇号或 %' 替换单个撇号/p>
以下数据步骤和宏工作正常,直到我点击包含撇号的姓氏,例如奥布莱恩。然后,由于未闭合的左括号,我遇到了语法错误。下面的代码我留下了我认为最接近包含的 tranwrd 的代码。
非常感谢您提供的任何帮助。
%macro put_data (object1,id);
Proc http
method=“put”
url=“https://myurl/submissionid/&id”
in=&object1;
Headers “content-type”=“application/json”;
Run;
%mend;
data _null_;
Set work.emp_lis;
call execute(catt(‘%put_data(‘,’%quote(‘’{“data”:{“employeeName”:”’,tranwrd(employeeName,”’’”,”’”),’”}}’’),’,id,’)’));
run;
克雷格
【问题讨论】:
-
请显示输入值。请显示适用于
O’Brien值的 SAS 代码,不带任何宏或宏变量。 -
为什么不使用 QUOTE() 而不是 TRANWRD() 来处理包含引号的引用值?
-
您发布的代码有“智能”引号,而不是普通的单引号
'或双引号"字符。这就是造成您麻烦的原因吗?