为什么 varnum 停止 sas 中的 proc 内容?
Why is varnum stopping proc contents in sas?
我有以下代码
ods select Variables;
proc contents data=xmlout.&XML_DSET;
run;
ods pdf open语句在代码的前面
ods pdf file="&exceldir\README.pdf" startpage=never;
title 'README FILE';
这需要 xmlout.&XML_DSET 并很好地为我将它放入 pdf 中(ods pdf 关闭;稍后在代码中)。
但是!
如果我像这样将 varnum 排序为变量存在于数据集中
ods select Variables;
proc contents data=xmlout.&XML_DSET varnum;
run;
pdf根本不显示结果!
我做错了什么?
谢谢!
看起来当您添加 VARNUM 选项时,并没有创建 VARIABLES 输出对象,而是创建了一个名为 POSITION 的输出对象。查找过程生成的不同对象的最简单方法是使用 ODS TRACE:
52 ods trace on;
53 proc contents data=sashelp.class;
54 run;
Output Added:
-------------
Name: Attributes
Label: Attributes
Template: Base.Contents.Attributes
Path: Contents.DataSet.Attributes
-------------
Output Added:
-------------
Name: EngineHost
Label: Engine/Host Information
Template: Base.Contents.EngineHost
Path: Contents.DataSet.EngineHost
-------------
Output Added:
-------------
Name: Variables
Label: Variables
Template: Base.Contents.Variables
Path: Contents.DataSet.Variables
-------------
55
56 proc contents data=sashelp.class varnum;
57 run;
Output Added:
-------------
Name: Attributes
Label: Attributes
Template: Base.Contents.Attributes
Path: Contents.DataSet.Attributes
-------------
Output Added:
-------------
Name: EngineHost
Label: Engine/Host Information
Template: Base.Contents.EngineHost
Path: Contents.DataSet.EngineHost
-------------
Output Added:
-------------
Name: Position
Label: Varnum
Template: Base.Contents.Position
Path: Contents.DataSet.Position
-------------
58 ods trace off;
看到这一点,您可以将代码更改为 SELECT 位置输出对象,即:
ods select position;
proc contents data=sashelp.class varnum;
run;
ods select all;
我有以下代码
ods select Variables;
proc contents data=xmlout.&XML_DSET;
run;
ods pdf open语句在代码的前面
ods pdf file="&exceldir\README.pdf" startpage=never;
title 'README FILE';
这需要 xmlout.&XML_DSET 并很好地为我将它放入 pdf 中(ods pdf 关闭;稍后在代码中)。
但是!
如果我像这样将 varnum 排序为变量存在于数据集中
ods select Variables;
proc contents data=xmlout.&XML_DSET varnum;
run;
pdf根本不显示结果!
我做错了什么?
谢谢!
看起来当您添加 VARNUM 选项时,并没有创建 VARIABLES 输出对象,而是创建了一个名为 POSITION 的输出对象。查找过程生成的不同对象的最简单方法是使用 ODS TRACE:
52 ods trace on;
53 proc contents data=sashelp.class;
54 run;
Output Added:
-------------
Name: Attributes
Label: Attributes
Template: Base.Contents.Attributes
Path: Contents.DataSet.Attributes
-------------
Output Added:
-------------
Name: EngineHost
Label: Engine/Host Information
Template: Base.Contents.EngineHost
Path: Contents.DataSet.EngineHost
-------------
Output Added:
-------------
Name: Variables
Label: Variables
Template: Base.Contents.Variables
Path: Contents.DataSet.Variables
-------------
55
56 proc contents data=sashelp.class varnum;
57 run;
Output Added:
-------------
Name: Attributes
Label: Attributes
Template: Base.Contents.Attributes
Path: Contents.DataSet.Attributes
-------------
Output Added:
-------------
Name: EngineHost
Label: Engine/Host Information
Template: Base.Contents.EngineHost
Path: Contents.DataSet.EngineHost
-------------
Output Added:
-------------
Name: Position
Label: Varnum
Template: Base.Contents.Position
Path: Contents.DataSet.Position
-------------
58 ods trace off;
看到这一点,您可以将代码更改为 SELECT 位置输出对象,即:
ods select position;
proc contents data=sashelp.class varnum;
run;
ods select all;