HBOUND Function

Returns the upper bound of an array.

Category: Array

Syntax

HBOUND<n> (array-name)

Required Arguments

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.

Optional Argument

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.

Details

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.

Comparisons

  • 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.

Examples

Example 1: One-Dimensional Array

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;

Example 2: Multidimensional Array

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

See Also

Statements:
ARRAY Statement in SAS Statements: Reference
Array Reference Statement in SAS Statements: Reference
Array Processing in SAS Language Reference: Concepts