Posts

Showing posts from March, 2010

How to create a macro variable containing a list of variables in a DATA set

Sometimes it is very handy to have a macro variable contanining the variables names of the dataset. Here are the 2 different ways you can create a macro variable with list of variables names ... *Method1: Using Proc Contents and Proc SQL; proc contents data =sashelp.class out =class; run ; proc sql noprint ; select distinct (name) into :vars separated by " " from class; quit ; %put &vars; *Method2: Using SASHELP tables and Proc SQL; data class; set sashelp.vcolumn(where=(libname= "SASHELP" and memname= "CLASS" )); keep name; run ; proc sql noprint ; select distinct (name) into :vars separated by " " from class; quit; %put &vars;

PRXMATCH Function

Image
Prxmatch () function is very useful in locating the matching strings. P rxmatch() function has 2 parameters, the first parameter is the regular expression ID (i.e what you are looking in a string for a match) and the second parameter is the character string to be searched. PRXMATCH () function returns the start position of the matching string. Syntax: PRXMATCH (perl-regular-expression, source); Even though PRXMATCH function can be used when.... 1) When you want to identify if there is alphanumeric (has any letter from A to Z) in a variable. 2) If you need to search a character variable for multiple different substrings. Here is how PRXMATCH works in the Ist case. *Prxmatch () function is very useful in locating the matching strings; DATA finda2z; INPUT ID $ 1-3 string $ 5-10; prxmatch= prxmatch (" /[a-zA-Z]/ ",string); DATALINES; 001 ACBED 002 11 003 12 004 zx 005 11 2c 006 abc123 ; run ; proc print; run; Output: *Here PRXMATCH func...

$UPCASEw. format

We all know the importance of UPCASE function in handling the character case strings. But do you know that a format can let you do the same as the UPCASE function (upcasing the variables). $UPCASEw . format works similar to the UPCASE Function. It also does one more thing which UPCASE function doesn’t. i.e: $UPCASEw . format let you apply length to the variable. Remember that w specifies the width of the output field. Example: *********************************************************; data new; *convert it to uppercase; name=" studysas blog "; format name $upcase .; newname=put(name, $upcase32 .); *Put function let you apply $upcase format; run; **********************************************; *The length of the new variable newname will be 32.