Hello
Here is my code.
What is wrong with my code.
I want to perform data step statements based on condition on macro var (The macro var is defined by user and get value 1 or 0)
Data have;
input custID X;
cards;
1 10
3 30
;
Run;
%let ind_OOT=1;
/*%let ind_OOT=0;*/
%macro My_Macro;
%IF &ind_OOT.=1 %THEN %DO;
Data have;
set have;
Ind_out_sample=0;
outsample=0;
Run;
%ELSE %DO;
Data have;
set have;
Run;
%END;
%MEND My_Macro;
%My_Macro
Here is Log error
1 The SAS System 12:24 Thursday, December 19, 2024
1 ;*';*";*/;quit;run;
2 OPTIONS PAGENO=MIN;
3 %LET _CLIENTTASKLABEL='Program (4)';
4 %LET _CLIENTPROCESSFLOWNAME='Process Flow';
5 %LET _CLIENTPROJECTPATH='';
6 %LET _CLIENTPROJECTPATHHOST='';
7 %LET _CLIENTPROJECTNAME='';
8 %LET _SASPROGRAMFILE='';
9 %LET _SASPROGRAMFILEHOST='';
10
11 ODS _ALL_ CLOSE;
12 OPTIONS DEV=PNG;
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
21 ENCODING=UTF8
22 options(rolap="on")
23 ;
NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
24
25 GOPTIONS ACCESSIBLE;
26 %let ind_OOT=1;
27
28 %macro My_Macro;
29 %IF &ind_OOT.=1 %THEN %DO;
30 Data have;
31 set have;
32 Ind_out_sample=0;
33 outsample=0;
34 Run;
35 %ELSE %DO;
ERROR: There is no matching %IF statement for the %ELSE.
ERROR: A dummy macro will be compiled.
36 Data have;
37 set have;
38 Run;
39 %END;
40 %MEND My_Macro;
41 %My_Macro
_
180
WARNING: Apparent invocation of macro MY_MACRO not resolved.
ERROR 180-322: Statement is not valid or it is used out of proper order.
42
43 GOPTIONS NOACCESSIBLE;
44 %LET _CLIENTTASKLABEL=;
45 %LET _CLIENTPROCESSFLOWNAME=;
46 %LET _CLIENTPROJECTPATH=;
47 %LET _CLIENTPROJECTPATHHOST=;
48 %LET _CLIENTPROJECTNAME=;
49 %LET _SASPROGRAMFILE=;
2 The SAS System 12:24 Thursday, December 19, 2024
50 %LET _SASPROGRAMFILEHOST=;
51
52 ;*';*";*/;quit;run;
53 ODS _ALL_ CLOSE;
54
55
56 QUIT; RUN;
57
... View more