1
我已经定义宏变量提取
%let data_names = fuzzy_Data_segment EMWS2.Clus_TRAIN;
然后我已经写了宏提取并从上面的宏变量作为打印值:
%macro calling_data;
%do i = 1 %to 2;
%let data_name&i = %qscan(&data_names,&i);
%put &&data_name&i;
%end;
%mend;
%calling_data;
我的宏代码可以打印名字(fuzzy_Data_segment),但是,它只打印第二个名字的一部分(EMWS2)。我应该怎么做打印整个第二个名字
您可能会添加一个点沿着默认分隔符(** blank!$%&()* +, - 。/; <^ | **),这就是为什么宏未按预期工作。 – kl78
绝对值得一提 - 谢谢@ kl78 – superfluous
您不想在宏语言中使用物理引号作为%QSCAN的参数。你想使用引用函数%STR() –