Functions and CALL Routines |
Returns the upper bound of an array.
HBOUND(array-name,bound-n)
|
-
n
-
is an integer constant that specifies the
dimension for which you want to know the upper bound. If no n
value is specified, the HBOUND function returns the upper bound of the first
dimension of the array.
-
array-name
-
is the name of an array that
was defined previously in the same DATA step.
-
bound-n
-
is a numeric constant, variable, or expression
that specifies the dimension for which you want to know the upper bound. Use bound-n only if n is not specified.
The HBOUND function returns the upper
bound of a one-dimensional array or the upper bound of a specified dimension
of a multidimensional array. Use HBOUND in array processing to avoid changing
the upper bound of an iterative DO group each time you change the bounds of
the array. HBOUND and LBOUND can be used together to return the values of
the upper and lower bounds of an array dimension.
-
HBOUND returns the literal value of the upper
bound of an array dimension.
-
DIM always returns a total count of the number
of elements in an array dimension.
Note: This distinction
is important when the lower bound of an array dimension has a value other
than 1 and the upper bound has a value other than the total number of elements
in the array dimension. ![[cautionend]](../../../../common/63294/HTML/default/images/cautend.gif)
In
this example, HBOUND returns the upper bound of the dimension, a value of
5. Therefore, SAS repeats the statements in the DO loop five times.
array big{5} weight sex height state city;
do i=1 to hbound(big5);
more SAS statements;
end;
This example shows two ways of specifying the HBOUND function for multidimensional
arrays. Both methods return the same value for HBOUND, as shown in the table
that follows the SAS code example.
array mult{2:6,4:13,2} mult1-mult100;
Syntax |
Alternative Syntax |
Value |
HBOUND(MULT) |
HBOUND(MULT,1) |
6 |
HBOUND2(MULT) |
HBOUND(MULT,2) |
13 |
HBOUND3(MULT) |
HBOUND(MULT,3) |
2 |
Copyright © 2011 by SAS Institute Inc., Cary, NC, USA. All rights reserved.