У меня есть макрос вроде:
%macro links;
PROC SQL;
CREATE TABLE T_US AS
SELECT DISTINCT
ID_SECON,
NO_BEN,
s_an
FROM rm.BENEF
;
QUIT;
proc sql;
select max(input(substr(s_an,1,4),4.)) into :max_sign
from T_US
;
quit;
%mend links;
Затем я создаю отчет, используя ODS:
%macro theRep();
options topmargin=1in bottommargin=1in
leftmargin=0.25in rightmargin=0.25in
;
ods tagsets.ExcelXP path="&cheminEx." file="&fi" style=seaside
options(autofit_height="yes"
pagebreaks="yes"
orientation="portrait"
papersize="letter"
WIDTH_POINTS = "12" WIDTH_FUDGE = ".0625"
absolute_column_width="110,175,180,200"
);
ods escapechar="^";
%theODS;
ods tagsets.ExcelXP close;
ods listing;
%mend theRep;
%macro theODS;
ods tagsets.ExcelXP
options(sheet_interval="none"
sheet_name="thename"
);
proc report data=T_US nowindows spanrows missing noheader
style(report)=[frame=box rules=all
foreground=black Font_face='Times New Roman' font_size=10pt
background=none]
style(column)=[Font_face='Times New Roman' font_size=10pt just=left]
;
col ID_SECON NO_BEN s_an;
define ID_SECON / group order=data noprint;
define NO_BEN / style(column)=[verticalalign=top];
define s_an / style(column)=[verticalalign=top];
compute before ID_SECON / style=[verticalalign=middle background=#f0f0f foreground=blue fontweight=bold font_size=12pt];
line ID_SECON $25.;
endcomp ;
title j=center height=12pt 'The title';
run;
%mend theODS;
Отчет показывает приятно.Но проблема в следующем:
Значение переменной max_sign отображается в конце отчета, даже если я не просил об этом в определяющей части.
Пожалуйста, вы можете помочь?Почему переменная, которой нет в наборе данных, T_US появляется в отчете?
Спасибо!