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

Popular posts from this blog

SAS Interview Questions and Answers: CDISC, SDTM and ADAM etc

Comparing Two Methods for Removing Formats and Informats in SAS: DATA Step vs. PROC DATASETS

Studyday calculation ( --DY Variable in SDTM)