Hi @Cynthia_sas ,
as I said in my previous answer, your solution does give the desired output.
However, when I run your code, the log keeps firing errors.
This is the complete code: ( &link_shared_folder had been defined outside this code)
data fakedata;
set sashelp.class;
varb = catx(" ",name,age);
run;
proc sort data=fakedata;
by age;
run;
proc format;
value w_by
11="1.25in"
12="1.25in"
13="2.0in"
14="3.0in"
15="1.25in"
16="1.25in"
;
run;
options nobyline;
%let path=&link_shared_folder\SAS\ODS\;
ods excel file="&path\diff_width.xlsx"
options (sheet_name='Age #byval1');
proc report data=fakedata out=a123;
by age;
column age varb sex height weight;
define age /order page;
define varb / display ;
define sex / display;
define height / display;
define weight / display;
compute before age;
holdage = age;
endcomp;
compute before _page_ /style=SystemTitle;
line 'THIS BYGROUP is for Age: ' Age 2.0;
endcomp;
compute varb;
length svar $50;
svar = catt ('style={width=',put (holdage,w_by.),'}');
call define (_col_,'style',svar);
endcomp;
run;
ods excel close;
As I already said, the resulting excel-file is what I want, but in the log, I keep having these errors.
I've tried to understand what the cause is, but I can't find the reason.
The same error is repeated for each by-group.
Do you have any idea what's the culprit here?
1 The SAS System 13:35 Tuesday, June 20, 2023
1 ;*';*";*/;quit;run;
2 OPTIONS PAGENO=MIN;
3 %LET _CLIENTTASKLABEL='Program';
4 %LET _CLIENTPROCESSFLOWNAME='Process Flow';
5 %LET _CLIENTPROJECTPATH='xxxx';
6 %LET _CLIENTPROJECTPATHHOST='xxxx';
7 %LET _CLIENTPROJECTNAME='xxxx.egp';
8 %LET _SASPROGRAMFILE='';
9 %LET _SASPROGRAMFILEHOST='';
10
11 ODS _ALL_ CLOSE;
12 OPTIONS DEV=PNG;
13 GOPTIONS XPIXELS=0 YPIXELS=0;
14 FILENAME EGHTML TEMP;
15 ODS HTML(ID=EGHTML) FILE=EGHTML
16 ENCODING='utf-8'
17 STYLE=HTMLBlue
18 NOGTITLE
19 NOGFOOTNOTE
20 GPATH=&sasworklocation
21 ;
NOTE: Writing HTML(EGHTML) Body file: EGHTML
22
23 GOPTIONS ACCESSIBLE;
24
25
26 data fakedata;
27 set sashelp.class;
28 varb = catx(" ",name,age);
29
30 run;
NOTE: There were 19 observations read from the data set SASHELP.CLASS.
NOTE: The data set WORK.FAKEDATA has 19 observations and 6 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
31
32 proc sort data=fakedata;
33 by age;
34 run;
NOTE: There were 19 observations read from the data set WORK.FAKEDATA.
NOTE: The data set WORK.FAKEDATA has 19 observations and 6 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
35
36 proc format;
37 value w_by
38 11="1.25in"
39 12="1.25in"
2 The SAS System 13:35 Tuesday, June 20, 2023
40 13="2.0in"
41 14="3.0in"
42 15="1.25in"
43 16="1.25in"
44 ;
NOTE: Format W_BY is already on the library WORK.FORMATS.
NOTE: Format W_BY has been output.
45 run;
NOTE: PROCEDURE FORMAT used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
46
47 options nobyline;
48
49 %let path=&link_shared_folder\SAS\ODS\;
50
51
52 ods excel file="&path\diff_width.xlsx"
53
54 options (sheet_name='Age #byval1');
55
56 proc report data=fakedata out=a123;
57 by age;
58 column age varb sex height weight;
59 define age /order page;
60 define varb / display ;
61 define sex / display;
62 define height / display;
63 define weight / display;
64 compute before age;
65 holdage = age;
66 endcomp;
67 compute before _page_ /style=SystemTitle;
68 line 'THIS BYGROUP is for Age: ' Age 2.0;
69 endcomp;
70 compute varb;
71 length svar $50;
72 svar = catt ('style={width=',put (holdage,w_by.),'}');
73 call define (_col_,'style',svar);
74 endcomp;
75 run;
NOTE: Variable Age already exists on file WORK.A123, using Age2 instead.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
NOTE: The above message was for the following BY group:
Age=11
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
3 The SAS System 13:35 Tuesday, June 20, 2023
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
NOTE: The above message was for the following BY group:
Age=12
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
NOTE: The above message was for the following BY group:
Age=13
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
NOTE: The above message was for the following BY group:
Age=14
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
NOTE: The above message was for the following BY group:
Age=15
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
ERROR 22-322: Syntax error, expecting one of the following: a name, a format name, !, *, @, DYNAMIC, EXPRESSION, RESOLVE, SYMGET,
_UNDEFINE_, _UNDEF_, _UND_, |.
ERROR 76-322: Syntax error, statement will be ignored.
NOTE: The above message was for the following BY group:
Age=16
NOTE: There were 19 observations read from the data set WORK.FAKEDATA.
NOTE: The data set WORK.A123 has 31 observations and 7 variables.
NOTE: PROCEDURE REPORT used (Total process time):
real time 0.29 seconds
4 The SAS System 13:35 Tuesday, June 20, 2023
cpu time 0.20 seconds
76 ods excel close;
... View more