【问题标题】:Why is varnum stopping proc contents in sas?为什么varnum会停止sas中的proc内容?
【发布时间】:2016-08-24 10:03:11
【问题描述】:

我有以下代码

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根本不显示结果!

我做错了什么?

谢谢!

【问题讨论】:

    标签: pdf sas proc ods


    【解决方案1】:

    看起来当您添加 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;
    

    看到这一点,您可以更改代码以选择位置输出对象,即:

    ods select position;    
    proc contents data=sashelp.class varnum;
    run;
    ods select all;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 2015-07-30
      • 2014-09-16
      • 2017-10-01
      相关资源
      最近更新 更多