You can use INDEXABS when you need the absolute occurrence of a particular object across all occurrences, rather than across only valid occurrences.

The INDEXABS function returns an integer that represents the index of an object relative to its nearest contained object, counting both valid and invalid instances of the object.

INDEXABS (single-object-name)
INDEXABS (object_for_which_to_get_index)
A single integer

INDEXABS returns an integer that represents the absolute index of object_for_which_to_get_index. The integer indicates the instance this object that is in the set of all instances of the object, including both valid and invalid occurrences. Returns 0 if the input argument is "none".

  • If object_for_which_to_get_index is an input, this will be the index within all members of the series, including valid objects, invalid objects, and existing "none"s.
  • If object_for_which_to_get_index is an output, this will be the index within all existing members of the series, including existing "none"s.

    The difference between INDEXABS and INDEX is that INDEXABS counts both valid and invalid instances, as well as existing "none"s, whereas INDEX counts only valid instances.


  • INDEXABS (Message Record:Order:PO_File)

    For this example, that Order contains the following Messages:

    Message Record[1] Valid

    Message Record[2 Error

    Message Record[3] Valid

    In a map rule, INDEXABS (MessageRecord[3]:Order:PO_File) would evaluate to 3.

    If the INDEX function was used, INDEX ( Message Record[3]:Order:PO ) would evaluate to 2.

Related function