- Get link
- X
- Other Apps
GLOBAL AND LOCAL MACROS
MACROS::: REDUCE THE CODE AND MINIMIZE THE TIME REPETITIVE CODES
EX::: SORT PROCEDURE(15 STEPS) TO 1 STEP
SUMMARY PROCEDURE(15 STEPS) TO 1 STEP
MEANS PROCEDURE(20 STEPS) TO 1 STEP
PROC SORT DATA=DSN1;
BY ID;
RUN;
PROC SORT DATA=DSN2;
BY ID;
RUN;
%MACRO SOMESH(JGXS= XHSJX=);
PROC SORT DATA=&DSN;
BY &VAR;
RUN;
%MEND;
%SOMESH(SASHELP.CLASS AGE);
%SOKMESH(PROG1.SALES SALARY);
HOW DO YOU IDENTIFY THE SAS VARIABLES MACRO VARIABLES
--NAME AGE GENDER HT WT --&NAME &AGE &GENDER &HT &WT
--HOW DO YOU IDENTIFY THE SAS STATEMENTS --MACRO STATEMENTS
--DATA PROC SCAN SUBSTR DO END --%MACRO %LET %PUT %SCAN %SUBSTR %DO %END
&(AMPER)---MACRO VARIABLE::: &NAME &AGE &GENDER &HT
%(PERCENTILE)-----MACRO STATEMENT::: %MACRO %LET %PUT %SCAN %SUBSTR %DO %END
FOR CREATING ASSIGNING THE MACRO:: %MACRO %LET %SCAN %SUBSTR %DO %END
FOR CALLING THE MACRO:: %PUT::: PUT STATEMENT PUT FUNCTION %PUT IN MACRO
MACRO VARIABLE:
1.GLOBAL MACRO::: DEFAULT MACROS BY SAS
2.LOCAL MACRO::: USE WITHIN THE PROGRAM
1.GLOBAL MACRO:
->IT CAN BE USED ANYWHERE IN THE SAS PROGRAM
->THEY ARE SYSTEM ASSINGNED VARIABLES*/;
PROC PRINT DATA=SASHELP.CARS;
WHERE MAKE='Audi' AND TYPE='Sports';
TITLE "SALES OF &SYSDAY &SYSDATE9";
RUN;
%PUT TODAY SALES IS &SYSDAY &SYSDATE &SYSVER;
2.LOCAL MACRO::
->THESE VAR CAN BE ACCESSED BY SAS PROGRAM WHICH DECLARED AS A PART OF
THE PROGRAM
%LET XXX='Audi';
%LET YYY='Sports';
PROC PRINT DATA=SASHELP.CARS;
WHERE MAKE=&XXX AND TYPE=&YYY;
TITLE "SALES OF &SYSDAY &SYSDATE9";
RUN;
%LET XXX='BMW';
%LET YYY='SUV';
%PUT &XXX &YYY;
%LET XXX='Honda';
%let yyy='SUV';
%PUT &XXX &YYY;
_AUTOMATIC_::: THIS IS HAVING THE SYSTEM GENERATED MACRO VARIABLE INFO
%PUT _AUTOMATIC_;
%PUT TODAY IS &SYSDATE9;
%PUT SYSTEM HAVING SAS VERSION &SYSVER;
%LET NAME=ADITYA;
%LET SEX=M;
%PUT DATA OF CLINOVO &NAME &SEX;
%PUT _USER_;
%PUT _ALL_;
DEFINING THE MACRO:
%MACRO XXXXX;
TEXT,STATMENT,DATA/PROC STEP;
%MEND;
PROC PRINT DATA=SASHELP.CARS;
WHERE MAKE='Audi' AND TYPE='Sedan';
TITLE "SALES OF &SYSDAY &SYSDATE";
RUN;
%MACRO DIVYA(MAKE,TYPE);
PROC PRINT DATA=SASHELP.CARS;
WHERE MAKE=&MAKE AND TYPE=&TYPE;
TITLE "SALES OF &SYSDAY &SYSDATE";
RUN;
%MEND;
%DIVYA('Audi','Sedan')
--PLEASE FOLLOW THE BLOG FOR MORE INFO....
--JOIN US IN TELEGRAM CHANNEL FOR MORE UPDATES
CLICK HERE: https://t.me/SasAll4You
- Get link
- X
- Other Apps
Comments
Post a Comment