SAS Proc打印-无输出

时间:2018-09-06 20:35:05

标签: sas proc

我很沮丧。我什至无法获得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文件。他们都是空白。

谢谢

3 个答案:

答案 0 :(得分:0)

这在很大程度上取决于您的设置,但是我将启用HTML&Listing输出,然后检查输出。

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

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

答案 1 :(得分:0)

在打印到my_report.html的位置上,文件可能会尝试转到C:\ my_report.html-而是输入完整的文件路径,并在完成后检查。

答案 2 :(得分: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包含将在其中创建文件的路径。

重要的是:使用“代替'。用双引号引起来。