How to Use the ANYDIGIT Function in SAS


You can use the ANYDIGIT function in SAS to return the position of the first digit in a given string.

This function uses the following basic syntax:

ANYDIGIT(expression, [start])

where:

  • expression: The string to search
  • start (optional): The starting position to search from.

The following example shows how to use this function in practice.

Example: Using the ANYDIGIT Function in SAS

Suppose we have the following dataset in SAS that contains information about various employees at some company:

/*create dataset*/
data my_data;
    input employeeID $ sales;
    datalines;
54AAF 23
0009A 38
BC18B 40
09H30 12
04429 65
B1300 90
B1700 75
RRHHJ 35
0Y009 40
C6500 23
;
run;

/*view dataset*/
proc print data=my_data;

We can use the ANYDIGIT function to search for the position of the first digit in the employeeID column:

/*create new dataset*/
data new_data;
    set my_data;
    firstDigit = anydigit(employeeID);
run;

/*view new dataset*/
proc print data=new_data;

The new column called firstDigit displays the position of the first occurrence of any digt in the employeeID column.

For example:

  • The first digit in 54AAF is in position 1.
  • The first digit in 0009A is in position 1.
  • The first digit in BC18B is in position 3.

And so on.

If there are no digits for a given employee ID, then a value of 0 is returned.

We can also use the start argument within the ANYDIGIT function to specify a starting position to search from.

For example, we can use the following code to search for the position of the first digit in the employeeID column starting from position 3:

/*create new dataset*/
data new_data;
    set my_data;
    firstDigit = anydigit(employeeID, 3);
run;

/*view new dataset*/
proc print data=new_data;

Notice that employeeID values that only contain an alphabetical character in the first two positions now receive a value of 0 in the firstDigit column since the search for digits now starts at position 3.

Additional Resources

The following tutorials explain how to use other common functions in SAS:

How to Remove Special Characters from Strings in SAS
How to Replace Characters in a String in SAS
How to Convert Character Variable to Numeric in SAS

Leave a Reply

Your email address will not be published. Required fields are marked *