16.SAS FUNCTIONS

                                              SAS FUNCTIONS


TO CHANGE THE CASE OF THE CHARACTER

--UPCASE:: VALUE WILL CAPITAL LETTERS

--LOWCASE:: VALUE WILL SMALL LETTERS

--PROPCASE:: FIRST LETTER WILL BE IN CAPITAL REMAINING ALL SMALL LETTERS

 

DATA CASE;

STR='THis Is SaS dAtA vaLUE';

AAA=UPCASE(STR);

BBB=LOWCASE(STR);

CCC=PROPCASE(STR);

RUN;

PROC PRINT;

RUN;


DATA CLASS;

SET SASHELP.CLASS;

NAME=LOWCASE(NAME);

RUN;

PROC PRINT;

RUN;



--TO EXTRACT THE PART OF THE STRING

 1.SUBSTR(VARIABLE,POSITION,LENGTH)

 2.CHAR


DATA STR;

STRING='RAMAVATHI RASAM INFOSYS HYD';

STR1=SUBSTR(STRING,3,3);

STR2=SUBSTR(STRING,5);

STR3=SUBSTR(STRING,5,7);

RUN;

PROC PRINT;

RUN;


DATA SS;

A='RANGARAJ HITECH CITY';

B=SUBSTR(A,4);

C=SUBSTR(A,7,3);

RUN;

PROC PRINT;

RUN;



DATA DD;

STR='KJHSDDGA ABDJGUY';

STR1=SUBSTR(STR,6,5);

RUN;

PROC PRINT;

RUN;


DATA SASS;

SET SASHELP.CLASS;

KEEP NAME;

NAME=SUBSTR(NAME,2,2); 

NAME=UPCASE(NAME);

RUN;

PROC PRINT;

RUN;



DATA CHR;

STTT='ABCD1223';

RED=CHAR(STTT,3);

RE=CHAR(STTT,6);

RUN;

PROC PRINT;

RUN;



--SCAN: TO EXTRACT STRING IN TO WORDS


--SCAN(VARIABLE,POSITION(LEFT TO RIGHT). 

   IF USING   '-'    -1   -2    (RIGHT TO LEFT)


DATA SCAN;

TRE='SAI PRIYANKA SUCHARITHA SANA';

WRS=SCAN(TRE,3);

RWQ=SCAN(TRE,2);

WWW=SCAN(TRE,-2);

EEE=SCAN(TRE,-4);

RUN;

PROC PRINT;

RUN;


DATA SCA1;

TRE='SAI PRIYANKA***SCHARITHA SANA';

WRS=SCAN(TRE,2,"**");

RWQ=SCAN(TRE,2);

RUN;

PROC PRINT;

RUN;


--TRIM : ITWILL REMOVE TRAILING BLANKS AND CONCATENATE AND GIVE THE VALUES


DATA TRIMMM;

STR="KRISH   ";

STR1="REDDY  ";

AA=TRIM(STR);

BB=TRIM(STR1);

CC=TRIM("K R I S H  ");

DD=TRIM("A  ") || ("BB  ");

RUN;

PROC PRINT;

RUN;


--STRIP : ITWILL REMOVE TRAILING AND LEADING BLANKS


DATA STRR;

STR="   KRISH   ";

STR1="    REDDY  ";

AA=STRIP(STR);

CC=STRIP(STR1);

BB=STRIP("  THIS IS SAS  ");

RUN;

PROC PRINT;

RUN;


FIND

DATA FINDD;

STRR='THIS IS SAS DATA VALUES';

RED=FIND(STRR,"IS");

ERD=FIND(STRR,"VALUES");

EDS=INDEX(STRR,"DATA");

RUN;

PROC PRINT;

RUN;


--FIND: MODIFIERS::IF THE DATA/STRING IN CASE SENSITIVE

DATA FINDD1;

STRR='THIS IS SAS DATA VALUES';

RED=FIND(STRR,"is",'i');

ERD=FIND(STRR,"VALUES");

EDS=FIND(STRR,"data",'i');

RUN;

PROC PRINT;

RUN;


--TRANWRD: REPLACING THE WORD

DATA TRANWDD;

STRE="MR ANIRUDH REDDY";

NME=TRANWRD(STRE,"MR","MISTER");

RUN;

PROC PRINT;RUN;


--TRANSLATE :REPLACING THE LETTER

DATA TRASLT;*(VAR,REPLACING LETTER,POSITION OF REP LETTER);

STRE="MR ANIRUDH REDDY";

NME=TRANSLATE(STRE,"A","D");

RUN;

PROC PRINT;

RUN;


--COMPBL:IT IS REMOVES MULTIPLE BLANKS

DATA CMPB;

STREE='PRIYA        REDDY';

VAR=COMPBL(STREE);

RUN;

PROC PRINT;

RUN;


--CATX: RETURNS A VALUE TO VARIABLE

DATA CNCT;

AA='PRIYA';

BB='REDDY';

CC=AA||BB;

DD=CATX("   ",AA,BB);

RUN;

PROC PRINT;

RUN;



NUMERIC FUNCTIONS: NUMERIC FUNCTIONS ARE CEIL,FLOOR,INT,ROUND.


DATA NUMRIC;

VALUE=4.6;

AA=CEIL(VALUE);

AA1=FLOOR(VALUE);

AA2=INT(VALUE);

AA3=ROUND(VALUE);

RUN;

PROC PRINT;

RUN;



Comments