BookmarkSubscribeRSS Feed
Toni2
Lapis Lazuli | Level 10

good afternoon, i have the below macro created from a colleague which gives me this error :

 

ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: "&&num_vars_&i.."

 

my understanding from this error is this is expression "&&num_vars_&i.." for some reason is not resolved or read as a number which is required for the condition but i might be wrong

 

any help will be appreciated

 

%macro discrete_freq(ds=,vars=,/*bad=,*/balance=);

	%let num_vars = %sysfunc(countw(%superq(vars)));

	%do i = 1 %to &num_vars.;

		%let var&i. = %sysfunc(compress(%qscan(%superq(vars), &i., %str( ))));
		%put var&i. = &&var&i..;


		data null_1;
			set &&var&i..;

			by i;

			call symput(compress('var_' || %sysfunc(compress(&i.)) || '_' || compress(i)), strip(&&var&i..));

			if last.i then do;
				call symput("num_vars_&i.", compress(i));
			end;

		run;

	%end;

	data freq (keep = count: sum: mean: /*bad:*/);
		set &ds.(keep = monthid /*period_end_date*/ &balance. /*&bad.*/ &vars.)
		end = last_file;
		%do i = 1 %to &num_vars.;
			%do j = 1 %to &&num_vars_&i..;
				array count_&i._&j.{&start_monthid.:&end_monthid.} count_&i._&j._&start_monthid. - count_&i._&j._&end_monthid.;
				array sum_&i._&j.{&start_monthid.:&end_monthid.} sum_&i._&j._&start_monthid. - sum_&i._&j._&end_monthid.;
				array mean_&i._&j.{&start_monthid.:&end_monthid.} mean_&i._&j._&start_monthid. - mean_&i._&j._&end_monthid.;
			%end;
		%end;

     run;
%mend;

here is the full log extract 

1                                                          The SAS System                             12:26 Monday, October 10, 2022

1          ;*';*";*/;quit;run;
2          OPTIONS PAGENO=MIN;
3          %LET _CLIENTTASKLABEL='Program';
4          %LET _CLIENTPROCESSFLOWNAME='DQ_Development_Sample';
5          %LET
5     

6          %LET _CLIENTPROJECTPATHHOST='srvsasorp';
7          %LET _CLIENTPROJECTNAME='data_quality_PSI.egp';
8          %LET _SASPROGRAMFILE='';
9          %LET _SASPROGRAMFILEHOST='';
10         
11         ODS _ALL_ CLOSE;
12         OPTIONS DEV=ACTIVEX;
13         GOPTIONS XPIXELS=0 YPIXELS=0;
14         FILENAME EGSR TEMP;
15         ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR
16             STYLE=HTMLBlue
17             STYLESHEET=(URL="file:///C:/Program%20Files/SASHome/SASEnterpriseGuide/7.1/Styles/HTMLBlue.css")
18             NOGTITLE
19             NOGFOOTNOTE
20             GPATH=&sasworklocation
SYMBOLGEN:  Macro variable SASWORKLOCATION resolves to 
            "/saswork5/SAS_workBA7700000D2F_srvsaspvlsk02/SAS_workB14500000D2F_srvsaspvlsk02/"
21             ENCODING=UTF8
22             options(rolap="on")
23         ;
NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
24         
25         GOPTIONS ACCESSIBLE;
26         options mprint;
27         %macro discrete_freq(ds=,vars=,/*bad=,*/balance=);
28         
29         	%let num_vars = %sysfunc(countw(%superq(vars)));
30         
31         	%do i = 1 %to &num_vars.;
32         
33         		%let var&i. = %sysfunc(compress(%qscan(%superq(vars), &i., %str( ))));
34         		%put var&i. = &&var&i..;
35         
36         
37         		data null_1;
38         			set &&var&i..;
39         
40         			by i;
41         
42         			call symput(compress('var_' || %sysfunc(compress(&i.)) || '_' || compress(i)), strip(&&var&i..));
43         
44         			if last.i then do;
45         				call symput("num_vars_&i.", compress(i));
46         			end;
47         
48         		run;
49         
50         	%end;
51         
52         	data freq (keep = count: sum: mean: /*bad:*/);
53         		set &ds.(keep = monthid /*period_end_date*/ &balance. /*&bad.*/ &vars.)
2                                                          The SAS System                             12:26 Monday, October 10, 2022

54         		end = last_file;
55         		%do i = 1 %to &num_vars.;
56         			%do j = 1 %to "&&num_vars_&i..";
57         				array count_&i._&j.{&start_monthid.:&end_monthid.} count_&i._&j._&start_monthid. - count_&i._&j._&end_monthid.;
58         				array sum_&i._&j.{&start_monthid.:&end_monthid.} sum_&i._&j._&start_monthid. - sum_&i._&j._&end_monthid.;
59         				array mean_&i._&j.{&start_monthid.:&end_monthid.} mean_&i._&j._&start_monthid. - mean_&i._&j._&end_monthid.;
60         			%end;
61         		%end;
62         
63              run;
64         %mend;
65         
66         %discrete_freq(ds=bnkg_out.bnkg_ead_dq_3,vars=&vardisc,/*bad=bad,*/ balance=on_balance_sheet_exposure);
SYMBOLGEN:  Macro variable VARDISC resolves to partenon_product  partenon_sub_product current_delinquent_mths_cnt maximum_card_typ  
            max_card_type time_on_books_mths_cnt permanent_overdraft_limit  temporary_overdraft_limit pencil_limit
SYMBOLGEN:  Macro variable NUM_VARS resolves to 9
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable VAR1 resolves to partenon_product
var1 = partenon_product
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable VAR1 resolves to partenon_product
MPRINT(DISCRETE_FREQ):   set partenon_product;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable VAR1 resolves to partenon_product
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 1 || '_' || compress(i)), strip(partenon_product));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 1
MPRINT(DISCRETE_FREQ):   call symput("num_vars_1", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:122   66:210   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 2 observations read from the data set WORK.PARTENON_PRODUCT.
NOTE: The data set WORK.NULL_1 has 2 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.02 seconds
      cpu time            0.01 seconds
      

SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable VAR2 resolves to partenon_sub_product
var2 = partenon_sub_product
MPRINT(DISCRETE_FREQ):   data null_1;
3                                                          The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable VAR2 resolves to partenon_sub_product
MPRINT(DISCRETE_FREQ):   set partenon_sub_product;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable VAR2 resolves to partenon_sub_product
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 2 || '_' || compress(i)), strip(partenon_sub_product));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 2
MPRINT(DISCRETE_FREQ):   call symput("num_vars_2", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 27 observations read from the data set WORK.PARTENON_SUB_PRODUCT.
NOTE: The data set WORK.NULL_1 has 27 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.02 seconds
      

SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable VAR3 resolves to current_delinquent_mths_cnt
var3 = current_delinquent_mths_cnt
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable VAR3 resolves to current_delinquent_mths_cnt
MPRINT(DISCRETE_FREQ):   set current_delinquent_mths_cnt;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable VAR3 resolves to current_delinquent_mths_cnt
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 3 || '_' || compress(i)), strip(current_delinquent_mths_cnt));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 3
MPRINT(DISCRETE_FREQ):   call symput("num_vars_3", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 25 observations read from the data set WORK.CURRENT_DELINQUENT_MTHS_CNT.
NOTE: The data set WORK.NULL_1 has 25 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
4                                                          The SAS System                             12:26 Monday, October 10, 2022

      

SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
var4 = maximum_card_typ
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
MPRINT(DISCRETE_FREQ):   set maximum_card_typ;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 4 || '_' || compress(i)), strip(maximum_card_typ));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 4
MPRINT(DISCRETE_FREQ):   call symput("num_vars_4", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     
NOTE: There were 0 observations read from the data set WORK.MAXIMUM_CARD_TYP.
NOTE: The data set WORK.NULL_1 has 0 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable VAR5 resolves to max_card_type
var5 = max_card_type
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable VAR5 resolves to max_card_type
MPRINT(DISCRETE_FREQ):   set max_card_type;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable VAR5 resolves to max_card_type
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 5 || '_' || compress(i)), strip(max_card_type));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 5
MPRINT(DISCRETE_FREQ):   call symput("num_vars_5", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;
5                                                          The SAS System                             12:26 Monday, October 10, 2022


NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 5 observations read from the data set WORK.MAX_CARD_TYPE.
NOTE: The data set WORK.NULL_1 has 5 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      

SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable VAR6 resolves to time_on_books_mths_cnt
var6 = time_on_books_mths_cnt
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable VAR6 resolves to time_on_books_mths_cnt
MPRINT(DISCRETE_FREQ):   set time_on_books_mths_cnt;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable VAR6 resolves to time_on_books_mths_cnt
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 6 || '_' || compress(i)), strip(time_on_books_mths_cnt));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 6
MPRINT(DISCRETE_FREQ):   call symput("num_vars_6", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 629 observations read from the data set WORK.TIME_ON_BOOKS_MTHS_CNT.
NOTE: The data set WORK.NULL_1 has 629 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable VAR7 resolves to permanent_overdraft_limit
var7 = permanent_overdraft_limit
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable VAR7 resolves to permanent_overdraft_limit
MPRINT(DISCRETE_FREQ):   set permanent_overdraft_limit;
MPRINT(DISCRETE_FREQ):   by i;
6                                                          The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable VAR7 resolves to permanent_overdraft_limit
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 7 || '_' || compress(i)), strip(permanent_overdraft_limit));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 7
MPRINT(DISCRETE_FREQ):   call symput("num_vars_7", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 433 observations read from the data set WORK.PERMANENT_OVERDRAFT_LIMIT.
NOTE: The data set WORK.NULL_1 has 433 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      

SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable VAR8 resolves to temporary_overdraft_limit
var8 = temporary_overdraft_limit
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable VAR8 resolves to temporary_overdraft_limit
MPRINT(DISCRETE_FREQ):   set temporary_overdraft_limit;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable VAR8 resolves to temporary_overdraft_limit
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 8 || '_' || compress(i)), strip(temporary_overdraft_limit));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 8
MPRINT(DISCRETE_FREQ):   call symput("num_vars_8", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 127 observations read from the data set WORK.TEMPORARY_OVERDRAFT_LIMIT.
NOTE: The data set WORK.NULL_1 has 127 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      

SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable I resolves to 9
7                                                          The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable VAR9 resolves to pencil_limit
var9 = pencil_limit
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable VAR9 resolves to pencil_limit
MPRINT(DISCRETE_FREQ):   set pencil_limit;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable VAR9 resolves to pencil_limit
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 9 || '_' || compress(i)), strip(pencil_limit));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 9
MPRINT(DISCRETE_FREQ):   call symput("num_vars_9", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 31 observations read from the data set WORK.PENCIL_LIMIT.
NOTE: The data set WORK.NULL_1 has 31 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

MPRINT(DISCRETE_FREQ):   data freq (keep = count: sum: mean: );
SYMBOLGEN:  Macro variable DS resolves to bnkg_out.bnkg_ead_dq_3
SYMBOLGEN:  Macro variable BALANCE resolves to on_balance_sheet_exposure
SYMBOLGEN:  Macro variable VARS resolves to partenon_product  partenon_sub_product current_delinquent_mths_cnt maximum_card_typ  
            max_card_type time_on_books_mths_cnt permanent_overdraft_limit  temporary_overdraft_limit pencil_limit
MPRINT(DISCRETE_FREQ):   set bnkg_out.bnkg_ead_dq_3(keep = monthid on_balance_sheet_exposure partenon_product partenon_sub_product 
current_delinquent_mths_cnt maximum_card_typ max_card_type time_on_books_mths_cnt permanent_overdraft_limit 
temporary_overdraft_limit pencil_limit) end = last_file;
SYMBOLGEN:  Macro variable NUM_VARS resolves to 9
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable NUM_VARS_1 resolves to 2
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: 
       "&&num_vars_&i.." 
ERROR: The %TO value of the %DO J loop is invalid.
ERROR: The macro DISCRETE_FREQ will stop executing.
67         
68         GOPTIONS NOACCESSIBLE;
69         %LET _CLIENTTASKLABEL=;
70         %LET _CLIENTPROCESSFLOWNAME=;
71         %LET _CLIENTPROJECTPATH=;
72         %LET _CLIENTPROJECTPATHHOST=;
73         %LET _CLIENTPROJECTNAME=;
74         %LET _SASPROGRAMFILE=;
75         %LET _SASPROGRAMFILEHOST=;
76         
77         ;*';*";*/;quit;run;
8                                                          The SAS System                             12:26 Monday, October 10, 2022

                     ____
                     180

ERROR 180-322: Statement is not valid or it is used out of proper order.

WARNING: The variable 'count:'n in the DROP, KEEP, or RENAME list has never been referenced.
WARNING: The variable 'sum:'n in the DROP, KEEP, or RENAME list has never been referenced.
WARNING: The variable 'mean:'n in the DROP, KEEP, or RENAME list has never been referenced.
NOTE: Compression was disabled for data set WORK.FREQ because compression overhead would increase the size of the data set.
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.FREQ may be incomplete.  When this step was stopped there were 0 observations and 0 variables.
WARNING: Data set WORK.FREQ was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

78         ODS _ALL_ CLOSE;
79         
80         
81         QUIT; RUN;
82         

 

 

7 REPLIES 7
PaigeMiller
Diamond | Level 26
56         			%do j = 1 %to "&&num_vars_&i..";

 

Remove the double quotes here. What your code does when the a macro variables are resolved is to create this SAS code:

 

%do j = 1 %to "2";

 

which is clearly incorrect syntax.

--
Paige Miller
Toni2
Lapis Lazuli | Level 10

hi thanks for your response. I am afraid it does not resolve the issue. I have now removed the " " from the code but i still receive the same issue

 

ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&num_vars_&i..

 

and here is the log :

 

1                                                          The SAS System                             12:26 Monday, October 10, 2022

1          ;*';*";*/;quit;run;
2          OPTIONS PAGENO=MIN;
3          %LET _CLIENTTASKLABEL='Program';
4          %LET _CLIENTPROCESSFLOWNAME='DQ_Development_Sample';
5          %LET
5        ! 
6          %LET _CLIENTPROJECTPATHHOST='srvsaspvlskorp';
7          %LET _CLIENTPROJECTNAME='data_quality_PSI.egp';
8          %LET _SASPROGRAMFILE='';
9          %LET _SASPROGRAMFILEHOST='';
10         
11         ODS _ALL_ CLOSE;
12         OPTIONS DEV=ACTIVEX;
13         GOPTIONS XPIXELS=0 YPIXELS=0;
14         FILENAME EGSR TEMP;
15         ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR
16             STYLE=HTMLBlue
17             STYLESHEET=(URL="file:///C:/Program%20Files/SASHome/SASEnterpriseGuide/7.1/Styles/HTMLBlue.css")
18             NOGTITLE
19             NOGFOOTNOTE
20             GPATH=&sasworklocation
SYMBOLGEN:  Macro variable SASWORKLOCATION resolves to 
            "/saswo/SAS_workB14500000D2F_srvsaspvlsk02/"
21             ENCODING=UTF8
22             options(rolap="on")
23         ;
NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
24         
25         GOPTIONS ACCESSIBLE;
26         options mprint;
27         %macro discrete_freq(ds=,vars=,/*bad=,*/balance=);
28         
29         	%let num_vars = %sysfunc(countw(%superq(vars)));
30         
31         	%do i = 1 %to &num_vars.;
32         
33         		%let var&i. = %sysfunc(compress(%qscan(%superq(vars), &i., %str( ))));
34         		%put var&i. = &&var&i..;
35         
36         
37         		data null_1;
38         			set &&var&i..;
39         
40         			by i;
41         
42         			call symput(compress('var_' || %sysfunc(compress(&i.)) || '_' || compress(i)), strip(&&var&i..));
43         
44         			if last.i then do;
45         				call symput("num_vars_&i.", compress(i));
46         			end;
47         
48         		run;
49         
50         	%end;
51         
52         	data freq (keep = count: sum: mean: /*bad:*/);
53         		set &ds.(keep = monthid /*period_end_date*/ &balance. /*&bad.*/ &vars.)
2                                                          The SAS System                             12:26 Monday, October 10, 2022

54         		end = last_file;
55         		%do i = 1 %to &num_vars.;
56         			%do j = 1 %to &&num_vars_&i..;
57         				array count_&i._&j.{&start_monthid.:&end_monthid.} count_&i._&j._&start_monthid. - count_&i._&j._&end_monthid.;
58         				array sum_&i._&j.{&start_monthid.:&end_monthid.} sum_&i._&j._&start_monthid. - sum_&i._&j._&end_monthid.;
59         				array mean_&i._&j.{&start_monthid.:&end_monthid.} mean_&i._&j._&start_monthid. - mean_&i._&j._&end_monthid.;
60         			%end;
61         		%end;
62         
63              run;
64         %mend;
65         
66         %discrete_freq(ds=bnkg_out.bnkg_ead_dq_3,vars=&vardisc,/*bad=bad,*/ balance=on_balance_sheet_exposure);
SYMBOLGEN:  Macro variable VARDISC resolves to partenon_product  partenon_sub_product current_delinquent_mths_cnt maximum_card_typ  
            max_card_type time_on_books_mths_cnt permanent_overdraft_limit  temporary_overdraft_limit pencil_limit
SYMBOLGEN:  Macro variable NUM_VARS resolves to 9
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable VAR1 resolves to partenon_product
var1 = partenon_product
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable VAR1 resolves to partenon_product
MPRINT(DISCRETE_FREQ):   set partenon_product;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable VAR1 resolves to partenon_product
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 1 || '_' || compress(i)), strip(partenon_product));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 1
MPRINT(DISCRETE_FREQ):   call symput("num_vars_1", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:122   66:210   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 2 observations read from the data set WORK.PARTENON_PRODUCT.
NOTE: The data set WORK.NULL_1 has 2 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.02 seconds
      cpu time            0.02 seconds
      

SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable VAR2 resolves to partenon_sub_product
var2 = partenon_sub_product
MPRINT(DISCRETE_FREQ):   data null_1;
3                                                          The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable VAR2 resolves to partenon_sub_product
MPRINT(DISCRETE_FREQ):   set partenon_sub_product;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable VAR2 resolves to partenon_sub_product
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 2 || '_' || compress(i)), strip(partenon_sub_product));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 2
MPRINT(DISCRETE_FREQ):   call symput("num_vars_2", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 27 observations read from the data set WORK.PARTENON_SUB_PRODUCT.
NOTE: The data set WORK.NULL_1 has 27 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      

SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable VAR3 resolves to current_delinquent_mths_cnt
var3 = current_delinquent_mths_cnt
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable VAR3 resolves to current_delinquent_mths_cnt
MPRINT(DISCRETE_FREQ):   set current_delinquent_mths_cnt;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable VAR3 resolves to current_delinquent_mths_cnt
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 3 || '_' || compress(i)), strip(current_delinquent_mths_cnt));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 3
MPRINT(DISCRETE_FREQ):   call symput("num_vars_3", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 25 observations read from the data set WORK.CURRENT_DELINQUENT_MTHS_CNT.
NOTE: The data set WORK.NULL_1 has 25 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
4                                                          The SAS System                             12:26 Monday, October 10, 2022

      

SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
var4 = maximum_card_typ
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
MPRINT(DISCRETE_FREQ):   set maximum_card_typ;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 4 || '_' || compress(i)), strip(maximum_card_typ));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 4
MPRINT(DISCRETE_FREQ):   call symput("num_vars_4", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     
NOTE: There were 0 observations read from the data set WORK.MAXIMUM_CARD_TYP.
NOTE: The data set WORK.NULL_1 has 0 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      

SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable VAR5 resolves to max_card_type
var5 = max_card_type
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable VAR5 resolves to max_card_type
MPRINT(DISCRETE_FREQ):   set max_card_type;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 5
SYMBOLGEN:  Macro variable VAR5 resolves to max_card_type
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 5 || '_' || compress(i)), strip(max_card_type));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 5
MPRINT(DISCRETE_FREQ):   call symput("num_vars_5", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;
5                                                          The SAS System                             12:26 Monday, October 10, 2022


NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 5 observations read from the data set WORK.MAX_CARD_TYPE.
NOTE: The data set WORK.NULL_1 has 5 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      

SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable VAR6 resolves to time_on_books_mths_cnt
var6 = time_on_books_mths_cnt
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable VAR6 resolves to time_on_books_mths_cnt
MPRINT(DISCRETE_FREQ):   set time_on_books_mths_cnt;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 6
SYMBOLGEN:  Macro variable VAR6 resolves to time_on_books_mths_cnt
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 6 || '_' || compress(i)), strip(time_on_books_mths_cnt));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 6
MPRINT(DISCRETE_FREQ):   call symput("num_vars_6", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 629 observations read from the data set WORK.TIME_ON_BOOKS_MTHS_CNT.
NOTE: The data set WORK.NULL_1 has 629 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      

SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable VAR7 resolves to permanent_overdraft_limit
var7 = permanent_overdraft_limit
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable VAR7 resolves to permanent_overdraft_limit
MPRINT(DISCRETE_FREQ):   set permanent_overdraft_limit;
MPRINT(DISCRETE_FREQ):   by i;
6                                                          The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 7
SYMBOLGEN:  Macro variable VAR7 resolves to permanent_overdraft_limit
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 7 || '_' || compress(i)), strip(permanent_overdraft_limit));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 7
MPRINT(DISCRETE_FREQ):   call symput("num_vars_7", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 433 observations read from the data set WORK.PERMANENT_OVERDRAFT_LIMIT.
NOTE: The data set WORK.NULL_1 has 433 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      

SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable VAR8 resolves to temporary_overdraft_limit
var8 = temporary_overdraft_limit
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable VAR8 resolves to temporary_overdraft_limit
MPRINT(DISCRETE_FREQ):   set temporary_overdraft_limit;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 8
SYMBOLGEN:  Macro variable VAR8 resolves to temporary_overdraft_limit
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 8 || '_' || compress(i)), strip(temporary_overdraft_limit));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 8
MPRINT(DISCRETE_FREQ):   call symput("num_vars_8", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 127 observations read from the data set WORK.TEMPORARY_OVERDRAFT_LIMIT.
NOTE: The data set WORK.NULL_1 has 127 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      

SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable I resolves to 9
7                                                          The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable VAR9 resolves to pencil_limit
var9 = pencil_limit
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable VAR9 resolves to pencil_limit
MPRINT(DISCRETE_FREQ):   set pencil_limit;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 9
SYMBOLGEN:  Macro variable VAR9 resolves to pencil_limit
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 9 || '_' || compress(i)), strip(pencil_limit));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 9
MPRINT(DISCRETE_FREQ):   call symput("num_vars_9", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     66:1     
NOTE: Compression was disabled for data set WORK.NULL_1 because compression overhead would increase the size of the data set.
NOTE: There were 31 observations read from the data set WORK.PENCIL_LIMIT.
NOTE: The data set WORK.NULL_1 has 31 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      

MPRINT(DISCRETE_FREQ):   data freq (keep = count: sum: mean: );
SYMBOLGEN:  Macro variable DS resolves to bnkg_out.bnkg_ead_dq_3
SYMBOLGEN:  Macro variable BALANCE resolves to on_balance_sheet_exposure
SYMBOLGEN:  Macro variable VARS resolves to partenon_product  partenon_sub_product current_delinquent_mths_cnt maximum_card_typ  
            max_card_type time_on_books_mths_cnt permanent_overdraft_limit  temporary_overdraft_limit pencil_limit
MPRINT(DISCRETE_FREQ):   set bnkg_out.bnkg_ead_dq_3(keep = monthid on_balance_sheet_exposure partenon_product partenon_sub_product 
current_delinquent_mths_cnt maximum_card_typ max_card_type time_on_books_mths_cnt permanent_overdraft_limit 
temporary_overdraft_limit pencil_limit) end = last_file;
SYMBOLGEN:  Macro variable NUM_VARS resolves to 9
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable NUM_VARS_1 resolves to 2
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_1_1{324:366} count_1_1_324 - count_1_1_366;
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
8                                                          The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_1_1{324:366} sum_1_1_324 - sum_1_1_366;
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_1_1{324:366} mean_1_1_324 - mean_1_1_366;
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_1_2{324:366} count_1_2_324 - count_1_2_366;
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_1_2{324:366} sum_1_2_324 - sum_1_2_366;
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 1
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_1_2{324:366} mean_1_2_324 - mean_1_2_366;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable NUM_VARS_2 resolves to 27
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
9                                                          The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_1{324:366} count_2_1_324 - count_2_1_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_1{324:366} sum_2_1_324 - sum_2_1_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_1{324:366} mean_2_1_324 - mean_2_1_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_2{324:366} count_2_2_324 - count_2_2_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_2{324:366} sum_2_2_324 - sum_2_2_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
10                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_2{324:366} mean_2_2_324 - mean_2_2_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_3{324:366} count_2_3_324 - count_2_3_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_3{324:366} sum_2_3_324 - sum_2_3_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_3{324:366} mean_2_3_324 - mean_2_3_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_4{324:366} count_2_4_324 - count_2_4_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
11                                                         The SAS System                             12:26 Monday, October 10, 2022

MPRINT(DISCRETE_FREQ):   array sum_2_4{324:366} sum_2_4_324 - sum_2_4_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_4{324:366} mean_2_4_324 - mean_2_4_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_5{324:366} count_2_5_324 - count_2_5_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_5{324:366} sum_2_5_324 - sum_2_5_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_5{324:366} mean_2_5_324 - mean_2_5_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_6{324:366} count_2_6_324 - count_2_6_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
12                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_6{324:366} sum_2_6_324 - sum_2_6_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_6{324:366} mean_2_6_324 - mean_2_6_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_7{324:366} count_2_7_324 - count_2_7_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_7{324:366} sum_2_7_324 - sum_2_7_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_7{324:366} mean_2_7_324 - mean_2_7_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
13                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_8{324:366} count_2_8_324 - count_2_8_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_8{324:366} sum_2_8_324 - sum_2_8_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_8{324:366} mean_2_8_324 - mean_2_8_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_9{324:366} count_2_9_324 - count_2_9_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_9{324:366} sum_2_9_324 - sum_2_9_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
14                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_9{324:366} mean_2_9_324 - mean_2_9_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_10{324:366} count_2_10_324 - count_2_10_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_10{324:366} sum_2_10_324 - sum_2_10_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_10{324:366} mean_2_10_324 - mean_2_10_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_11{324:366} count_2_11_324 - count_2_11_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_11{324:366} sum_2_11_324 - sum_2_11_366;
15                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_11{324:366} mean_2_11_324 - mean_2_11_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_12{324:366} count_2_12_324 - count_2_12_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_12{324:366} sum_2_12_324 - sum_2_12_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_12{324:366} mean_2_12_324 - mean_2_12_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_13{324:366} count_2_13_324 - count_2_13_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
16                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_13{324:366} sum_2_13_324 - sum_2_13_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_13{324:366} mean_2_13_324 - mean_2_13_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_14{324:366} count_2_14_324 - count_2_14_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_14{324:366} sum_2_14_324 - sum_2_14_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_14{324:366} mean_2_14_324 - mean_2_14_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
17                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_15{324:366} count_2_15_324 - count_2_15_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_15{324:366} sum_2_15_324 - sum_2_15_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_15{324:366} mean_2_15_324 - mean_2_15_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_16{324:366} count_2_16_324 - count_2_16_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_16{324:366} sum_2_16_324 - sum_2_16_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 16
18                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_16{324:366} mean_2_16_324 - mean_2_16_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_17{324:366} count_2_17_324 - count_2_17_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_17{324:366} sum_2_17_324 - sum_2_17_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_17{324:366} mean_2_17_324 - mean_2_17_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_18{324:366} count_2_18_324 - count_2_18_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_18{324:366} sum_2_18_324 - sum_2_18_366;
SYMBOLGEN:  Macro variable I resolves to 2
19                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_18{324:366} mean_2_18_324 - mean_2_18_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_19{324:366} count_2_19_324 - count_2_19_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_19{324:366} sum_2_19_324 - sum_2_19_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_19{324:366} mean_2_19_324 - mean_2_19_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_20{324:366} count_2_20_324 - count_2_20_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
20                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_20{324:366} sum_2_20_324 - sum_2_20_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_20{324:366} mean_2_20_324 - mean_2_20_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_21{324:366} count_2_21_324 - count_2_21_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_21{324:366} sum_2_21_324 - sum_2_21_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_21{324:366} mean_2_21_324 - mean_2_21_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
21                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_22{324:366} count_2_22_324 - count_2_22_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_22{324:366} sum_2_22_324 - sum_2_22_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_22{324:366} mean_2_22_324 - mean_2_22_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_23{324:366} count_2_23_324 - count_2_23_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_23{324:366} sum_2_23_324 - sum_2_23_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
22                                                         The SAS System                             12:26 Monday, October 10, 2022

MPRINT(DISCRETE_FREQ):   array mean_2_23{324:366} mean_2_23_324 - mean_2_23_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_24{324:366} count_2_24_324 - count_2_24_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_24{324:366} sum_2_24_324 - sum_2_24_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_24{324:366} mean_2_24_324 - mean_2_24_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_25{324:366} count_2_25_324 - count_2_25_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_25{324:366} sum_2_25_324 - sum_2_25_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
23                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_25{324:366} mean_2_25_324 - mean_2_25_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_26{324:366} count_2_26_324 - count_2_26_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_26{324:366} sum_2_26_324 - sum_2_26_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 26
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_26{324:366} mean_2_26_324 - mean_2_26_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_2_27{324:366} count_2_27_324 - count_2_27_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
24                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_2_27{324:366} sum_2_27_324 - sum_2_27_366;
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 2
SYMBOLGEN:  Macro variable J resolves to 27
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_2_27{324:366} mean_2_27_324 - mean_2_27_366;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable NUM_VARS_3 resolves to 25
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_1{324:366} count_3_1_324 - count_3_1_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_1{324:366} sum_3_1_324 - sum_3_1_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 1
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_1{324:366} mean_3_1_324 - mean_3_1_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
25                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_2{324:366} count_3_2_324 - count_3_2_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_2{324:366} sum_3_2_324 - sum_3_2_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 2
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_2{324:366} mean_3_2_324 - mean_3_2_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_3{324:366} count_3_3_324 - count_3_3_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_3{324:366} sum_3_3_324 - sum_3_3_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
26                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 3
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_3{324:366} mean_3_3_324 - mean_3_3_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_4{324:366} count_3_4_324 - count_3_4_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_4{324:366} sum_3_4_324 - sum_3_4_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 4
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_4{324:366} mean_3_4_324 - mean_3_4_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_5{324:366} count_3_5_324 - count_3_5_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_5{324:366} sum_3_5_324 - sum_3_5_366;
27                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 5
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_5{324:366} mean_3_5_324 - mean_3_5_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_6{324:366} count_3_6_324 - count_3_6_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_6{324:366} sum_3_6_324 - sum_3_6_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 6
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_6{324:366} mean_3_6_324 - mean_3_6_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_7{324:366} count_3_7_324 - count_3_7_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
28                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_7{324:366} sum_3_7_324 - sum_3_7_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 7
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_7{324:366} mean_3_7_324 - mean_3_7_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_8{324:366} count_3_8_324 - count_3_8_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_8{324:366} sum_3_8_324 - sum_3_8_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 8
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_8{324:366} mean_3_8_324 - mean_3_8_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
29                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_9{324:366} count_3_9_324 - count_3_9_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_9{324:366} sum_3_9_324 - sum_3_9_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 9
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_9{324:366} mean_3_9_324 - mean_3_9_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_10{324:366} count_3_10_324 - count_3_10_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_10{324:366} sum_3_10_324 - sum_3_10_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 10
30                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_10{324:366} mean_3_10_324 - mean_3_10_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_11{324:366} count_3_11_324 - count_3_11_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_11{324:366} sum_3_11_324 - sum_3_11_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 11
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_11{324:366} mean_3_11_324 - mean_3_11_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_12{324:366} count_3_12_324 - count_3_12_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_12{324:366} sum_3_12_324 - sum_3_12_366;
SYMBOLGEN:  Macro variable I resolves to 3
31                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 12
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_12{324:366} mean_3_12_324 - mean_3_12_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_13{324:366} count_3_13_324 - count_3_13_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_13{324:366} sum_3_13_324 - sum_3_13_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 13
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_13{324:366} mean_3_13_324 - mean_3_13_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_14{324:366} count_3_14_324 - count_3_14_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
32                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_14{324:366} sum_3_14_324 - sum_3_14_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 14
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_14{324:366} mean_3_14_324 - mean_3_14_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_15{324:366} count_3_15_324 - count_3_15_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_15{324:366} sum_3_15_324 - sum_3_15_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 15
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_15{324:366} mean_3_15_324 - mean_3_15_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
33                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_16{324:366} count_3_16_324 - count_3_16_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_16{324:366} sum_3_16_324 - sum_3_16_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 16
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_16{324:366} mean_3_16_324 - mean_3_16_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_17{324:366} count_3_17_324 - count_3_17_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_17{324:366} sum_3_17_324 - sum_3_17_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 17
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
34                                                         The SAS System                             12:26 Monday, October 10, 2022

MPRINT(DISCRETE_FREQ):   array mean_3_17{324:366} mean_3_17_324 - mean_3_17_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_18{324:366} count_3_18_324 - count_3_18_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_18{324:366} sum_3_18_324 - sum_3_18_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 18
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_18{324:366} mean_3_18_324 - mean_3_18_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_19{324:366} count_3_19_324 - count_3_19_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_19{324:366} sum_3_19_324 - sum_3_19_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
35                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 19
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_19{324:366} mean_3_19_324 - mean_3_19_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_20{324:366} count_3_20_324 - count_3_20_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_20{324:366} sum_3_20_324 - sum_3_20_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 20
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_20{324:366} mean_3_20_324 - mean_3_20_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_21{324:366} count_3_21_324 - count_3_21_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
36                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_21{324:366} sum_3_21_324 - sum_3_21_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 21
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_21{324:366} mean_3_21_324 - mean_3_21_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_22{324:366} count_3_22_324 - count_3_22_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_22{324:366} sum_3_22_324 - sum_3_22_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 22
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_22{324:366} mean_3_22_324 - mean_3_22_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
37                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_23{324:366} count_3_23_324 - count_3_23_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_23{324:366} sum_3_23_324 - sum_3_23_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 23
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_23{324:366} mean_3_23_324 - mean_3_23_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_24{324:366} count_3_24_324 - count_3_24_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_24{324:366} sum_3_24_324 - sum_3_24_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 24
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_24{324:366} mean_3_24_324 - mean_3_24_366;
38                                                         The SAS System                             12:26 Monday, October 10, 2022

SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array count_3_25{324:366} count_3_25_324 - count_3_25_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array sum_3_25{324:366} sum_3_25_324 - sum_3_25_366;
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable START_MONTHID resolves to 324
SYMBOLGEN:  Macro variable I resolves to 3
SYMBOLGEN:  Macro variable J resolves to 25
SYMBOLGEN:  Macro variable END_MONTHID resolves to 366
MPRINT(DISCRETE_FREQ):   array mean_3_25{324:366} mean_3_25_324 - mean_3_25_366;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
WARNING: Apparent symbolic reference NUM_VARS_4 not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: 
       &&num_vars_&i.. 
ERROR: The %TO value of the %DO J loop is invalid.
ERROR: The macro DISCRETE_FREQ will stop executing.
67         
68         GOPTIONS NOACCESSIBLE;
69         %LET _CLIENTTASKLABEL=;
70         %LET _CLIENTPROCESSFLOWNAME=;
71         %LET _CLIENTPROJECTPATH=;
72         %LET _CLIENTPROJECTPATHHOST=;
73         %LET _CLIENTPROJECTNAME=;
74         %LET _SASPROGRAMFILE=;
75         %LET _SASPROGRAMFILEHOST=;
76         
77         ;*';*";*/;quit;run;
                     ____
                     180

ERROR 180-322: Statement is not valid or it is used out of proper order.

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.FREQ may be incomplete.  When this step was stopped there were 0 observations and 6966 variables.
39                                                         The SAS System                             12:26 Monday, October 10, 2022

WARNING: Data set WORK.FREQ was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
      real time           0.21 seconds
      cpu time            0.23 seconds
      

78         ODS _ALL_ CLOSE;
79         
80         
81         QUIT; RUN;
82         
PaigeMiller
Diamond | Level 26

hi thanks for your response. I am afraid it does not resolve the issue. I have now removed the " " from the code but i still receive the same issue

 

I think a more correct reply would say, different error in a different spot in the code, and so the first error fix did work.

 

MPRINT(DISCRETE_FREQ):   array mean_3_25{324:366} mean_3_25_324 - mean_3_25_366;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
WARNING: Apparent symbolic reference NUM_VARS_4 not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: 
       &&num_vars_&i.. 
ERROR: The %TO value of the %DO J loop is invalid.

&NUM_VARS_4 is not defined. So the %DO loop, which uses &NUM_VARS_4, can't execute.

 

But let's back up further and follow Maxim 2 — Read the log

 

SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
var4 = maximum_card_typ
MPRINT(DISCRETE_FREQ):   data null_1;
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
MPRINT(DISCRETE_FREQ):   set maximum_card_typ;
MPRINT(DISCRETE_FREQ):   by i;
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  && resolves to &.
SYMBOLGEN:  Macro variable I resolves to 4
SYMBOLGEN:  Macro variable VAR4 resolves to maximum_card_typ
MPRINT(DISCRETE_FREQ):   call symput(compress('var_' || 4 || '_' || compress(i)), strip(maximum_card_typ));
MPRINT(DISCRETE_FREQ):   if last.i then do;
SYMBOLGEN:  Macro variable I resolves to 4
MPRINT(DISCRETE_FREQ):   call symput("num_vars_4", compress(i));
MPRINT(DISCRETE_FREQ):   end;
MPRINT(DISCRETE_FREQ):   run;

NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      66:125   66:213   66:2     
NOTE: There were 0 observations read from the data set WORK.MAXIMUM_CARD_TYP.
NOTE: The data set WORK.NULL_1 has 0 observations and 2 variables.

 

Right here, when &NUM_VARS_4 is being created, there is no data in the data set NULL_1 and so &NUM_VARS_4 doesn't get created.

 

I get the very definite impression that you are working extremely hard using macros and arrays to do something that ought to be much simpler, but without a very clear description of what you are doing, I can't be more specific. But I wouldn't program it this way with macros and arrays unless there was no other way, and I get the feeling there are other simpler ways to do this.

 

 

 

--
Paige Miller
ballardw
Super User

It might help if you include all the information needed. You have a parameter to your macro that is a macro variable. So we cannot see it.

My gut feeling when I see variable named anything as "vars", indicating variables that someone thinks needs to be "%superq"ed (made up word) to work is suspect.

 

Another thing the array definitions such as

array count_&i._&j.{&start_monthid.:&end_monthid.} count_&i._&j._&start_monthid. - count_&i._&j._&end_monthid

that have things like "start_monthid" as part of the variable names indicates that you may be storing date related information in the variable names. That quite often is a pointer to a poor data structure.

 

That last data step does nothing except add a variable indicating the end of a data set was reached. There is nothing done with the array variables.

 

One strongly suspects an attempt to force a spreadsheet type solution onto a SAS data set. Likely if this is supposed to accomplish anything "by month" or "for each month" or similar idea the data should not have a bunch of "month" named variables but should one variable with an additional variable indicating the month (better is actual date quite likely) and multiple records.

Tom
Super User Tom
Super User

What is it that you think that macro is trying to do? Can explain its purpose in words?

Can you show the SAS code you are trying to use the macro to generate?

 

Looking at it a little bit there are some missing things in the code you shared.

  • You did not define the macro variable  vardisc used in the macro call.  We can see from the LOG that it had a list of 9 names.
  • You did not define the "magic" macro variables &start_monthid and &end_monthid are suddenly referenced in the middle of the macro definition without being defined as a parameter to the macro, even mentioned in a comment at the top of the macro.
  • You did not give examples of the input dataset listed in the DSN parameter. Nor of the nine datasets that the values of the &VARS macro parameter refer to.

 

For the specific issue of the one dataset that has zero observation what do you want to do?

If you set the value of the macro variable that counts how many values of I were found in that dataset before the data step to zero then probably the rest of the code will at least run. 

%let num_vars = %sysfunc(countw(&vars,%str( )));
%do i = 1 %to &num_vars.;
  %let var&i. = %scan(&vars,&i,%str( ));
  %let num_vars_&i=0;
data _null_;
  set &&var&i..;
  by i;
  call symputx(cats('var_',&i,'_',i), &&var&i);
  if last.i then call symputx("num_vars_&i.",i);
run;
%end;

The result is that there not be any of the triplet of array definitions added into the last data step the macro generates for the source dataset.

 

It is not clear what the heck you are trying to do but it really looks like a way to create a dataset with a GAZILLION variables.  You are making 3 arrays for every observation in each of the 9 input datasets.  Each array will have the number of variables defined by the mysterious start/end macro variables you didn't define anywhere.

 

You do not appear to be putting any values into those variables.  Unless they are coming from the input dataset.  But if so then what is the purpose of defining the arrays and then never using them to reference any of the variables?

 

Try this version:

%macro discrete_freq(ds=,vars=,/*bad=,*/balance=);
%let num_vars = %sysfunc(countw(&vars,%str( )));
%do i = 1 %to &num_vars.;
  %let var&i. = %scan(&vars,&i,%str( ));
  %let num_vars_&i=0;
data _null_;
  set &&var&i..;
  by i;
  call symputx(cats('var_',&i,'_',i), &&var&i);
  if last.i then call symputx("num_vars_&i.",i);
run;
%end;

data freq (keep = count: sum: mean: /*bad:*/);
  set &ds.(keep = monthid /*period_end_date*/ &balance. /*&bad.*/ &vars.)
      end = last_file
  ;
%do i = 1 %to &num_vars.;
  %put var&i. = &&var&i.. num_vars_&i = &&num_vars_&i ;
  %do j = 1 %to &&num_vars_&i..;
  array count_&i._&j. [&start_monthid.:&end_monthid.] count_&i._&j._&start_monthid. - count_&i._&j._&end_monthid.;
  array sum_&i._&j.   [&start_monthid.:&end_monthid.] sum_&i._&j._&start_monthid. - sum_&i._&j._&end_monthid.;
  array mean_&i._&j.  [&start_monthid.:&end_monthid.] mean_&i._&j._&start_monthid. - mean_&i._&j._&end_monthid.;
  %end;
%end;

run;
%mend;
options mprint;
%let start_monthid=1;
%let end_monthid=2;
%discrete_freq
(ds=bnkg_out.bnkg_ead_dq_3
,vars=
  partenon_product partenon_sub_product 
/*
  current_delinquent_mths_cnt maximum_card_typ  
  max_card_type time_on_books_mths_cnt permanent_overdraft_limit  
  temporary_overdraft_limit pencil_limit
*/
,balance=on_balance_sheet_exposure
);


 

 

 

 

Toni2
Lapis Lazuli | Level 10

thanks and apologies as you are right i have missed a lot of information. Let me try to clarify: 

 

1) The vardisc takes 9 variables which are : 

partenon_product
partenon_sub_product
current_delinquent_mths_cnt
maximum_card_typ
max_card_type
time_on_books_mths_cnt
permanent_overdraft_limit
temporary_overdraft_limit
pencil_limit

 

2) The macro creates the FREQ table which includes 3 arrays using the macro variable &&num_vars_&i..

 

3) Macro variable &&num_vars_&i.. contains for each variable the max number of different categories of variable (below is an example from variable pencil_limit). 

 

i	pencil_limit
1	0
2	10
3	50
4	51
5	70
6	76
7	80
8	90
9	100
10	101
11	110
12	120
13	125
14	130
15	140
16	150
17	151
18	160
19	165
20	170
21	180
22	190
23	200
24	201
25	210
26	220
27	230
28	235
29	240
30	250
31	.

4) The start and end month variables are defined as below:

%let start_month = dec17;
%let end_month =jun21;

 

5) I have copied only the part of the code which is to define the macro since it is where the issue has been appeared

 

I hope this helps ?

 

 

 

 

 

PaigeMiller
Diamond | Level 26

Since you are clearly putting calendar information into variable names ... this is a sign that your coding could be a whole lot easier if you use a long data set, rather than a wide data set. "poor data structure" is what @ballardw called it. Poor data structure causes complicated code; smart data structure allows simplified code.

 

As far as the explanation given so far to @Tom , this is not the explanation we need and not the explanation I asked for earlier. We do not want an explanation of code used, we want an explanation of the purpose of this analysis and the purpose of this macro.

--
Paige Miller

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 7 replies
  • 1560 views
  • 7 likes
  • 4 in conversation