我有一个变量列出了我需要的信息存储的变量名称.此变量将所有变量名称存储为字符串.我正在尝试创建另一个变量,该变量只包含变量行中的任何变量,该变量的名称存储在第一个变量下.例如,
var_names var_a var_b new_variable
var_a 7 11 7
var_a 2 9 2
var_b 3 6 6
var_a 6 9 6
Run Code Online (Sandbox Code Playgroud)
上面的var_names有变量名,我正在尝试创建new_variable.有任何想法吗?提前致谢.
到目前为止,我一直在努力寻找一个宏解决方案,但我无法让新变量实际上等于字段,而不仅仅是它应该调用的变量的名称.
我相信这个问题的原因是我不知道如何制作一个由另一个变量定义的宏.即%let mac = var_names,然后new_variable =&varnames
您可以使用该VVALUEX功能,如下所示:
DATA Work.Vars;
INPUT VarToUse $
VarA
VarB
VarC
;
DATALINES;
VarA 1 2 3
VarB 1 2 3
VarC 1 2 3
;;;;
RUN;
DATA Work.SelectedVars;
SET Work.Vars;
Var = VVALUEX( VarToUse );
KEEP Var;
RUN;
Run Code Online (Sandbox Code Playgroud)
返回:
Var
1
2
3