使用ODS Tagsets.ExcelXP显示空表

时间:2018-01-30 21:11:40

标签: sas sas-ods

我有这个代码使用ODS Tagsets.ExcelXP在Excel文件中编写报告。当数据集" revenus"不为空,报告显示在Excel工作表中。但是,当数据集" revenus"为空,不会创建报告。

即使数据集为空,我们如何修改此代码以显示报告?我们可以将报告标题和空行放在它下面吗?

谢谢。

1517341677444,180922,HTTP Request,200,OK,Thread Group 1-1,text,true,,1530008760,195,1,1,1152,0,528,11.111.11.111

1 个答案:

答案 0 :(得分:2)

在Reeza评论的帮助下修改了代码:

ods tagsets.ExcelXP path="&pathEx." file="file_name.xls" style=seaside
options(autofit_height="yes"
        pagebreaks="yes"
        orientation="portrait"
        papersize="letter"
        sheet_interval="none"
        sheet_name="Infos"
        WIDTH_POINTS = "12" WIDTH_FUDGE = ".0625"       absolute_column_width="120,80,200,200"
        );

ods escapechar="^";

%macro imm;
%if &nobs ne 0 %then %do;
proc report data=&lib..revenus nowindows missing spanrows  style=seaside
    style(report)=[frame=box rules=all bordercolor=black borderwidth=0.5
                    foreground=black Font_face='Times New Roman' font_size=10pt
                    background=none ]
    style(header)=[background=#e0e0e0 foreground=blue just=center]
    style(column)=[Font_face='Times New Roman' font_size=10pt
                    just=left]
;

    define an_imposi / display 'Année';
    define rev_tot / display 'Revenu total';

    title j=center height=12pt 'Revenus';

run;

%end;
%else %do;
    data _null_;
     title;
     file print;
     put _page_;
     put "No data in the table!!";
    run;
   %end;

%mend imm;
%imm;

宏变量“nobs”包含数据集“revenus”中的观察数量。