通配符保持在数据步骤中

sta*_*ant 5 sas

是否可以在keep数据步骤中使用通配符?我想做以下事情(A保持变量x和y以及所有变量以a开头的A的左连接):

data C;
    merge A(in=a)
          B(keep= x y var* in=b);
    by x y;
    if a;
run;
Run Code Online (Sandbox Code Playgroud)

itz*_*tzy 8

是的,使用:.

data C;
    merge A(in=a)
          B(keep=x y a: in=b);
    by x y;
    if a;
run;
Run Code Online (Sandbox Code Playgroud)

(in=a如果你有一个名为变量的话,这不是一个好主意a.)

如果你有序列号的变量,像a1,a2,... aN,你可以写a1-aN.如果你想要一组相邻的列(例如varX,varY并且varZ在数据集中物理上相邻),你可以说varX--varZ.这两个例子之间的区别在于你是使用一个或两个.