2013-08-26 58 views
3

我经常想要将一个数据集的所有变量名称粘贴到一个Excel文件的一列中。变量名称的垂直列表

proc contents data=mydata varnum short; 
run; 

将给我在ODS中由空格分隔的名称。我运行文本到列,然后粘贴转置结果以获得我想要的格式。

我想要相同的输出,但用换行符分隔而不是空格,这样我就可以轻松地将它们粘贴到Excel中的单个列中。

感谢您的建议,在图书馆SASHELP 的pT

回答

2

表视图V列会给你你需要的是什么。这个表格视图是由sas自动生成的。

proc sql noprint;

create table vars as 
    select name 
    from sashelp.vcolumn 
    where libname = upper("work") 
     and 
     memname = upper("table1") 
    ; 
quit; 

这里的工作是你的库,表1是你想从

+0

最适合我的是,包括'order by varnum'并删除'noprint'和'create table'。这使我可以在输出上打印和选择单列。 – pteranodon

2

变量表如果你想使用PROC内容,使其输出到数据集:

proc contents data=mydata noprint out=mydata_varnames (keep=name); 
run; 

然后要么打开数据集并复制粘贴,或使用proc导出将数据导出到文件。 (例如csv文件,我不是直接导出到xls的粉丝)

+0

不幸的是,输出数据集似乎总是按照字母顺序编写的,当我想将它们保存为创建日期顺序时。我可以包含'keep = name varnum',然后对其进行排序并删除varnum,但我正在寻找最小步数。 – pteranodon