仅列出数据集的列名称

时间:2013-07-25 07:05:33

标签: sas

我正在UNIX env中使用SAS,我只想查看数据集的列名。我已经尝试了proc内容和proc打印,但是他们都列出了许多其他不需要的信息,因为它填满了我的腻子屏幕并且信息最终丢失了。

我也试图从sas元数据中得到这个东西,但这也不起作用。 我试过了:

  2? proc sql;
  select *
 from dictionary.tables
 where libname='test' and memname='sweden_elig_file_jul';
quit;
  5?
NOTE: No rows were selected.

  6?
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.27 seconds
      cpu time            0.11 seconds

4 个答案:

答案 0 :(得分:20)

您使用错误的字典表来获取列名...

proc sql ;
  select name 
  from dictionary.columns
  where memname = 'mydata'
  ;
quit ;

或使用PROC CONTENTS

proc contents data=mydata out=meta (keep=NAME) ; 
run ; 
proc print data=meta ; run ;

答案 1 :(得分:2)

以前使用的是获取列表以及更多信息的列表,您可以像上一个答案一样添加保留选项。这只是演示了如何创建与元数据服务器的连接,以防对查看此帖子的任何人有用。

libname fetchlib meta 
    library="libraryName" metaserver="metaDataServerAddress"
    password="yourPassword" port=1234
    repname="yourRepositoryName" user="yourUserName";

proc contents data=fetchlib.YouDataSetName
    memtype=DATA 
    out=outputDataSet 
    nodetails 
    noprint; 
run;

答案 2 :(得分:0)

proc sql;
    select *
    from dictionary.tables
    where libname="TEST" and memname="SWEDEN_ELIG_FILE_JUL";
quit;

答案 3 :(得分:0)

对于纯宏方法,请尝试以下操作:

%macro mf_getvarlist(libds
      ,dlm=%str( )
)/*/STORE SOURCE*/;
  /* declare local vars */
  %local outvar dsid nvars x rc dlm;
  /* open dataset in macro */
  %let dsid=%sysfunc(open(&libds));

  %if &dsid %then %do;
    %let nvars=%sysfunc(attrn(&dsid,NVARS));
    %if &nvars>0 %then %do;
      /* add first dataset variable to global macro variable */
      %let outvar=%sysfunc(varname(&dsid,1));
      /* add remaining variables with supplied delimeter */
      %do x=2 %to &nvars;
        %let outvar=&outvar.&dlm%sysfunc(varname(&dsid,&x));
      %end;
    %End;
    %let rc=%sysfunc(close(&dsid));
  %end;
  %else %do;
    %put unable to open &libds (rc=&dsid);
    %let rc=%sysfunc(close(&dsid));
  %end;
  &outvar
%mend;

用法:

%put List of Variables=%mf_getvarlist(sashelp.class);

返回:

  

变量列表=姓名性别年龄身高体重

来源:https://github.com/Boemska/macrocore/blob/master/base/mf_getvarlist.sas