如何通过间接引用掩盖SAS宏变量调用中的&

和风

我正在使用以下宏代码从表生成客户端列表:

%macro listclient;
    proc sql noprint;
    select unique(client)
      into :cli1 - 
    from books;   quit;

  %put Total Number of Clients: &sqlobs..;   
  %do i=1 %to &sqlobs;
    %put Client &i &&cli&i;   
  %end; 
%mend listclient;

%listclient

我的问题是某些客户端具有Smith&Jones之类的名称,因此我需要使用某种屏蔽功能来获得正确的分辨率。我已经尝试了一些方法,最好的猜测是使用%nrbquote(&& cli&i),但似乎无法解决问题。我想我正在犯语法错误,或者间接宏变量引用可能存在问题。

该代码会运行,但是每次在客户端名称中遇到&时都会发出警告。

我宁愿不要沿着用“ and”替换所有&s然后再次将它们改回来的方法!

有人可以帮忙吗?

汤姆

一个有用的宏函数是%SUPERQ()您只需要提供要引用的宏变量的名称(而不是值)即可。

%do i=1 %to &sqlobs;
  %put Client &i %superq(cli&i);   
%end; 

您还可以将宏变量构建为已被格式化为带引号的字符串。如果使用单引号,则内部的宏触发器将被忽略。

proc sql noprint;
  select distinct cats("'",tranwrd(name,"'","''"),"'")
    into :name1 -
    from sashelp.class
 ;
quit;
%put &=NAME1;
NAME1='Alfred'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

zsh :通过间接引用测试变量的存在

来自分类Dev

如何找到对在Eclipse中通过导出的jar间接引用的类的引用?

来自分类Dev

Python中如何通过变量直接引用对象

来自分类Dev

连接引用的宏变量

来自分类Dev

对javascript中函数的间接引用

来自分类Dev

间接引用javascript中的函数

来自分类Dev

arrayformula 中的多个间接引用

来自分类Dev

间接引用按钮

来自分类Dev

从HTML脚本中调用方法。该脚本在HTML中间接引用

来自分类Dev

SAS调用宏变量

来自分类Dev

Python 3 ctypes 调用需要通过另一个结构间接引用缓冲区的函数

来自分类Dev

函数参数的间接引用

来自分类Dev

在const函数中返回对self的间接引用

来自分类Dev

SAS 中调用执行宏脚本中的动态变量

来自分类Dev

Bash对关联数组的间接引用

来自分类Dev

Eclipse ::从所需的.class文件间接引用

来自分类Dev

间接引用工作表名称

来自分类Dev

间接引用对象成员是powershell

来自分类Dev

检索基于间接引用的行

来自分类Dev

是否可以使用Shell脚本打印变量内容的内容?(间接引用)

来自分类Dev

SAS:宏调用中的宏var

来自分类Dev

解决SAS中的宏变量

来自分类Dev

鱼壳中的间接变量引用

来自分类Dev

更改SAS宏中宏变量的值

来自分类Dev

名称对象可以作为PDF文件中的间接引用吗?

来自分类Dev

显示.NET Core中间接引用的程序包中的类

来自分类Dev

bash中的间接引用,这为什么不起作用?

来自分类Dev

无效的间接引用0x416f68a0在encodeIndirectRef中

来自分类Dev

使用VBA间接引用其他工作表中的范围