6

我在初学者 SAS 课程中,我们只需要显示 PROC CONTENTS 输出中显示数据集中变量的部分。例如,当你这样做

proc contents data=whas.heart3;
run;

输出为 3 个表。第三张表的标题是:

变量和属性的字母列表

我需要弄清楚如何修改上面的代码以只显示第三个表。

4

3 回答 3

9

输出通过输出交付系统 (ODS) 交付。使用ods trace on;,系统会告诉您正在交付什么。在这种情况下,Variables是您要查找的表。

用于ods select Variables;告诉 ODS 仅提供变量表。ods select default;然后为其他程序重置为默认值 ( )。

ods select Variables;
proc contents data=mydata;
run;
ods select default;
于 2013-09-18T03:55:32.477 回答
5

我不确定 ODS 是否会包含在初学者的课程中。另一个选项是查看 SAS 过程的在线帮助,在这里您会发现有一个选项 SHORT 可以与 PROC CONTENTS 一起使用。这将只显示变量列表。

proc contents data=whas.heart3 short;
run;
于 2013-09-18T08:02:45.747 回答
1

使用 ODS 的替代方法是使用 PROC SQL dictionary.columns。它速度较慢,但​​可能更通用。

PROC SQL;
  SELECT varnum, name, type, length,format, informat
  FROM dictionary.columns 
  WHERE upcase(libname)="WHAS"
    AND upcase(memname)="HEART3"
  ORDER BY varnum;
QUIT;

这在使用更复杂的 ODS 设置时可能会有所帮助,并且相当于

ODS SELECT Variables;
  PROC CONTENTS varnum data=whas.heart3; RUN;
ODS SELECT default;
于 2018-03-06T21:54:09.777 回答