我已经构建了一些宏代码,它将字段的给定行中的值传递给宏变量,然后将其用作字符串的一部分,从网站下载CSV文件 . 我尝试将此字段设置为默认长度$ 8 . 在'CALL SYMPUT'语句中 .
这不起作用,因为大多数(但不是全部)字符串长度为4.当在日志中运行代码时,您可以看到提交到网站的URL中的尾随空格和代码翻倒 .
当我尝试使用'CALL SYMPUT'长度为4美元时 . 它适用于四个字符长的字符串 .
除了一些字符串是六个字符长中的一个,两个,三个,五个之外,这一切都会好起来的 . 我尝试以%let mynewvar =%trim(&myoldvar . );'的方式使用'%TRIM'函数但它导致相同的错误,其中URL中提交的宏变量具有尾随空格...
...我究竟做错了什么?
谢谢
3 回答
如果您正在使用数据步骤中的CALL SYMPUT(),请尝试使用STRIP()函数删除空白 .
返回:
您可以尝试使用CALL SYMPUTX左对齐并修剪尾随空白 .
如果我们能看到一些示例代码,那么帮助您会更容易 .
要保护您的嵌入式和角色,您需要%nrbquote . http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#z3514bquote.htm