Concatenation FUNCTIONS & CALL ROUTINES:
CATS/CATT/CATX Call Routines
CAT/CATS/CATT/CATX Functions
These Functions and Call Routines can be used to join two or more strings together.
Even though we can use the concatenation operator in combination with the STRIP, TRIM, or LEFT functions, these functions make it much easier to put strings together and if you wish, to place one or more separator characters between the strings.
One advantage of using the call routines than the functions is improved performance.
Note: *Call routine executes faster than the function… in specific…
CALL CATS:
To concatenate two or more strings, removing both leading and trailing blanks.
CATS () stands for concatenate and strip.
Just think the ‘S’ at the end of the CATS as “Strip Blanks”.
Syntax: CALL CATS (result, string-1<, string-n>);
Example:
A=”ABC’;
B=” CONSULTING”;
C=”INC “;
D=” TEAM “;
FUNCTION= RESULTCALL CATS(RESULT, A,B)= "ABCCONSULTING"
CALL CATS(RESULT, A,B,C)= "ABCCONSULTINGINC"
CALL CATS(RESULT, "HELLO",D)= "HELLOTEAM"
CALL CATT:
To concatenate two or more strings, removing only trailing blanks.
Just think the ‘T’ at the end of the CATT as “Trailing Blanks” or “Trim Blanks”.
Syntax: CALL CATS (result, string-1<, string-n>);
Example:
A=”ABC’;
B=” CONSULTING”;
C=”INC “;
D=” TEAM “;
FUNCTION= RESULTCALL CATT(RESULT, A,B) ="ABC CONSULTING"
CALL CATT(RESULT, A,B,C)= "ABC CONSULTINGINC"
CALL CATT(RESULT, "HELLO",D)= "HELLO TEAM"
CALL CATX:To concatenate two or more strings and removing both leading and trailing blanks and places a single space, or one or more characters of our choice, between each strings.
Just think the ‘X’ at the end of the CATX as “add eXtra blank.”
Syntax: CALL CATX (separator, result, string-1<, string-n>);
Example:
A=”ABC’;
B=” CONSULTING”;
C=”INC “;
D=” TEAM “;
FUNCTION =RESULT
CALL CATX(" ",RESULT, A,B) ="ABC CONSULTING"
CALL CATX(" ,", RESULT, A,B,C) ="ABC,CONSULTING,INC"
CALL CATX(' / ', RESULT, "HELLO",D) ="HELLO/TEAM"
CALL CATX(' *** ', RESULT, "HELLO",D) = "HELLO***TEAM"
Examples:
CAT:
The CAT function is identical to the operator
AE=aeterm aedecod aebodsys;
Same result can be achieved using the following code;
AE=CAT (aeterm, aedecod, aebodsys);
****************************************************************************;
CATS:
AE=trim (left (aeterm)) trim (left (aedecod)) trim (left (aebodsys));
Same result can be achieved using the following codes;
AE=CATT (aeterm, aedecod, aebodsys);
CALL CATT AE, aeterm, aedecod, aebodsys);
********************************************************************************;
CATT:
AE=trim (aeterm) trim (aedecod) trim (aebodsys);
Same result can be achieved using the following codes;
AE=CATT (aeterm, aedecod, aebodsys);
CALL CATT (AE, aeterm, aedecod, aebodsys);
***************************************************************************;
CATX:
AE=trim (left (aeterm))’/’ trim (left (aedecod)) ’/’ trim (left (aebodsys));
Same result can be achieved using the following codes;
AE=CATX (“ / “,aeterm, aedecod, aebodsys);
CALL CATX (“ / “, AE, aeterm, aedecod, aebodsys);
****************************************************************************;
NOTE: Don‘t forget to use the Length statement for the concatenated variable.
Reference: SAS Functions By Example, Chapter1: Character Functions(Page 51-60).
Comments
Post a Comment