33.MACRO FUNCTIONS

                                    MACRO FUNCTIONS


1.%INDEX FUNCTION: IT WRITE POSITION OF THE LETTER


DATA SAS;

XX='RAM SAI KUMAR';

YY=INDEX(XX,'SAI');

RUN;


%LET XX=RAM SAI KUMAR;

%LET YY=%INDEX(&XX,KUMAR);

%PUT NAME &YY;

%PUT &XX;


1.%SUBSTR FUNCTION: IT WRITE POSITION OF THE LETTER FROM AND TO THE SELECTED WORD.


%LET AA=SHARANYA GAYATRI IDDCR;

%LET BB=%SUBSTR(&AA,2,4);

%LET CC=%SUBSTR(&AA,2);

%PUT &AA;

%PUT &BB;

%PUT &CC;


3.%SCAN:IT WILL RETURN THE  GIVEN WORD FROM THE SELECTED SENTENCE


%LET VAR=RAM SAI KUMAR SHIVA;

%LET VAR1=%SCAN(&VAR,-3);

%PUT  &VAR1;


4.%LOWCASE:IN THIS CASE ALPHABETS WILL BE IN LOWER CASE..


%LET REDDY=PROG DATA SALES VALUES;

%LET RED=DAta vALuEs;

PROC PRINT DATA=PROG1.COUNTRY;

TITLE %LOWCASE (&REDDY);

FOOTNOTE %UPCASE(&RED);

RUN;


5.%UPCASE:IN THIS CASE ALPHABETS WILL BE IN UPPER CASE..


%LET REDDY=PROG DATA SALES VALUES;

PROC PRINT DATA=PROG1.COUNTRY;

TITLE %UPCASE (&REDDY);

RUN;


6.%EVAL:TO DO THE SUM OF THE VARIABLES..


%LET RR1=55;

%LET RR2=50;

%LET ALLDAT=&RR1+&RR2;

%PUT SUMOF &ALLDAT;


%LET RRR=%EVAL(&RR1+&RR2);

%PUT TOTAL IS &RRR;


CONCATENATION OF MACRO VARIABLES:


 OPTIONS MLOGIC MPRINT SYMBOLGEN;

%LET X=NAME;

%LET Y=1;

%LET VAR1=25;

%PUT &X;

%PUT &Y;

%pUT &VAR1;

%PUT &X &Y &VAR1;

%LET Z=X Y;

%PUT &&&Z &&&Y;


&&& WILL TAKE THE LENGTH FOR THE CHARACTER

&&& WILL TAKE FOR NUMERIC ONLY ( && WILL ALSO CONSIDER THE NUMERIC VALUE)


EXPLAIN: &Z WILL RETURN THE X Y BECAUSE FIRST && RESOLVES TO &,&X WILL RESOLVE TO NAME,

&&& RESOLVES TO &Y WILL RESOLVE TO 1,SO HERE THE ANSWE WILL BE 

NAME Y &1..



--PLEASE FOLLOW THE BLOG FOR MORE INFO....

--JOIN US IN TELEGRAM CHANNEL FOR MORE UPDATES

   CLICK HERE: https://t.me/SasAll4You


Comments