我需要根据参数数据集中的数据创建许多宏变量。
示例:
m_v_content m_v_name
5 macro_a
6 macro_b
30 macro_c
预期产量
3 个宏变量(或表中包含的行数),名称为
macro_a
、macro_b
和 macro_c
,其中 macro_a
=5
、macro_B
=6
和 macro_c
= 30
我尝试了以下方法,但没有成功:
data _null_;
set have;
array cont [*] m_v_content;
array name [*] $ m_v_name;
do i=1 to dim(name);
call symputx(name[i],cont[i]);
%put name[i]=&name[i];
end;
run;
代码更基础一些。 SET 语句将创建自动循环。
data _null_;
set have;
call symputx(m_v_name, m_v_content);
run;
%put ¯o_a;
%put ¯o_c;