Previous Page | Next Page

Functions and CALL Routines

WHICHN Function



Searches for a numeric value that is equal to the first argument, and returns the index of the first matching value.
Category: Search

Syntax
Arguments
Details
Examples
See Also

Syntax

WHICHN(argument, value-1 <, value-2, ...>)


Arguments

argument

is a numeric constant, variable, or expression that specifies the value to search for.

value

is a numeric constant, variable, or expression that specifies the value to be searched.


Details

The WHICHN function searches the second and subsequent arguments for a value that is equal to the first argument, and returns the index of the first matching value.

If string is missing, then WHICHN returns a missing value. Otherwise, WHICHN compares the value of string with value-1, value-2, and so on, in sequence. If argument value-i equals string, then WHICHN returns the positive integer i. If string does not equal any subsequent argument, then WHICHN returns 0.

Using WHICHN is useful when the values that are being searched are subject to frequent change. If you need to perform many searches without changing the values that are being searched, using the HASH object is much more efficient.


Examples

The following example searches the array for the first argument and returns the index of the first matching value.

data _null_;
   array dates[*] Columbus Hastings Nicea US_Independence missing
                  Magna_Carta Gutenberg
                  (1492 1066 325 1776 . 1215 1450);
   x0=whichn(., of dates[*]);
   x1=whichn(1492, of dates[*]);
   x2=whichn(1066, of dates[*]);
   x3=whichn(1450, of dates[*]);
   x4=whichn(1000, of dates[*]);
   put x0= / x1= / x2= / x3= / x4=;
run;

SAS writes the following output to the log:

x0=.
x1=1
x2=2
x3=7
x4=0


See Also

Functions:

WHICHC Function

"The IN Operator in Numeric Comparisons" in SAS Language Reference: Concepts.

"Using the Hash Object" in SAS Language Reference: Concepts.

Previous Page | Next Page | Top of Page