我现在有一个宏变量text ,里面放着几个变量的label,需要在宏中逐个使用。但是在循环的过程中,一直报错,%str %nrstr %bquote %nrbquote都试过,都不能解决,请大佬帮忙看看。
不会用发帖里的代码功能,就直接贴在这了
%let text= %nrstr(12-导联心电图结果 / 结果(》10%) / 基线结果 / 临床判断) ;
%macro lab();
%do i=1 %to 4;
%let varlabel=%scan( %str(&text).,&i.,'/');
/* %let varlabel=%scan( %nrstr(&text).,&i.,'/');*/
/* %let varlabel=%scan( %bquote(&text).,&i.,'/');*/
/* %let varlabel=%scan( %nrbquote(&text).,&i.,'/');*/
%put &varlabel;
%end;
%mend;
%lab();
日志:1 %let text= %nrstr(12-导联心电图结果 / 结果(》10%) / 基线结果 / 临床判断) ;
2
3 %macro lab();
4 %do i=1 %to 4;
5 %let varlabel=%scan( %str(&text).,&i.,'/');
6 /* %let varlabel=%scan( %nrstr(&text).,&i.,'/');*/
7 /* %let varlabel=%scan( %bquote(&text).,&i.,'/');*/
8 /* %let varlabel=%scan( %nrbquote(&text).,&i.,'/');*/
9 %put &varlabel;
10 %end;
11 %mend;
12
13 %lab();
12-导联心电图结果
ERROR: 值“')'n”是无效的 SAS 名。
WARNING: 没有解析宏 ")" 的调用。
ERROR: 值“')'n”是无效的 SAS 名。
WARNING: 没有解析宏 ")" 的调用。
结果(》10%)
基线结果
临床判断.