SAS Proc Print - 无输出

问题描述 投票:0回答:3

我很沮丧。我甚至无法获得proc打印。我尝试了很多东西。我没有在结果查看器中看到该表。我的日志说文件已被读取,我应该看到结果。我已经尝试关闭和打开ods并保存到工作文件夹或保存到我自己的文件夹。我试过切换到列表输出。现在,我只想要运行这个代码:https://support.sas.com/resources/papers/proceedings11/270-2011.pdf

data energy;
length state $2;
input region division state $ type expenditures @@;
datalines;
1 1 ME 1 708 1 1 ME 2 379 1 1 NH 1 597 1 1 NH 2 301
1 1 VT 1 353 1 1 VT 2 188 1 1 MA 1 3264 1 1 MA 2 2498
1 1 RI 1 531 1 1 RI 2 358 1 1 CT 1 2024 1 1 CT 2 1405
1 2 NY 1 8786 1 2 NY 2 7825 1 2 NJ 1 4115 1 2 NJ 2 3558
1 2 PA 1 6478 1 2 PA 2 3695 4 3 MT 1 322 4 3 MT 2 232
4 3 ID 1 392 4 3 ID 2 298 4 3 WY 1 194 4 3 WY 2 184
4 3 CO 1 1215 4 3 CO 2 1173 4 3 NM 1 545 4 3 NM 2 578
4 3 AZ 1 1694 4 3 AZ 2 1448 4 3 UT 1 621 4 3 UT 2 438
4 3 NV 1 493 4 3 NV 2 378 4 4 WA 1 1680 4 4 WA 2 1122
4 4 OR 1 1014 4 4 OR 2 756 4 4 CA 1 10643 4 4 CA 2 10114
4 4 AK 1 349 4 4 AK 2 329 4 4 HI 1 273 4 4 HI 2 298
;

proc sort data=energy out=energy_report;
by region division type;
run;

proc format;
value regfmt 1='Northeast'
2='South'
3='Midwest'
4='West';
value divfmt 1='New England'
2='Middle Atlantic'
3='Mountain'
4='Pacific';
value usetype 1='Residential Customers'
2='Business Customers';
run;


ods html file='my_report.html';
proc print data=energy_report;
run;
ods html close;

我的日志显示没有错误:

NOTE: Writing HTML Body file: my_report.html
1582 proc print data=energy_report;
1583 run;

NOTE: There were 44 observations read from the data set WORK.ENERGY_REPORT.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0.04 seconds
cpu time 0.00 seconds

当我进入我的临时文件时,我可以打开“energy”和“energy_report”数据集,我可以查看所有数据。为什么我看不到打印输出?我不确定我错过了什么。我检查了输出窗口,结果查看器窗口和所有生成的html文件。他们都是空白的。

谢谢

sas proc
3个回答
0
投票

这取决于您的设置,但我会启用HTML和列表输出,然后检查输出。

ods listing;
ods html;
proc print data=sashelp.class;
run;

如果您使用EG,结果应该在流程中。如果是Studio,在结果选项卡中,如果是SAS Base,请单击结果并在必要时打开。有一个名为“将结果显示为已生成”的选项,由于某种原因,它可能已在您的安装中设置为关闭。我经常以这种方式设置我,因为我经常一次生成大量文件(HTML / XLSX)并且不希望它们自动打开。


0
投票

如果您打印到my_report.html,该文件可能会尝试转到C:\ my_report.html - 改为放入完整的文件路径,并在完成后检查。


0
投票

更改

ods html file='my_report.html';
proc print data=energy_report;
run;
ods html close;

ods html file="&path./my_report4.html";
proc print data=energy_report;
run;
ods html close;

其中&path包含将创建文件的路径。

重要的是:使用“而不是”。双引号代替引用。

© www.soinside.com 2019 - 2024. All rights reserved.