在SAS 9中,我如何在简单的数据步骤中重新排列字段的顺序.
Data set2;
/*Something probably goes here*/
set set1;
run;
Run Code Online (Sandbox Code Playgroud)
因此,如果set1具有以下字段:
Name Title Salary
A Chief 40000
B Chief 45000
Run Code Online (Sandbox Code Playgroud)
然后我可以将set2的字段顺序更改为:
Title Salary Name
Chief 40000 A
Chief 45000 B
Run Code Online (Sandbox Code Playgroud)
谢谢,
担
一些快速的谷歌搜索给了我这个方法:
data set2;
retain title salary name;
set set1;
run;
Run Code Online (Sandbox Code Playgroud)
从这里:http: //analytics.ncsu.edu/sesug/2002/PS12.pdf
如果数据集中有大量变量,有时使用sql语句而不是datastep会更容易.这允许您仅列出您关注其顺序的变量,并使用通配符保留其他所有内容.
proc sql noprint;
create table set2 as
select title, salary, *
from set1;
quit;
Run Code Online (Sandbox Code Playgroud)
如果您使用大型表执行此操作,则可以通过创建视图来节省IO开销.这可以应用于数据集方法或proc sql方法.
proc sql noprint;
create view set2 as
select title, *
from set1;
quit;
** OR;
data set2 / view=set2;
retain title salary name;
set set1;
run;
Run Code Online (Sandbox Code Playgroud)
干杯罗布