The by-exp modifier designates a sort key, in ascending, exploded MultiValue order and must be followed by an attribute name. It may be used with any command that lists or selects items, such as list or select.
The by-exp modifier is used to sort attributes that may contain more than one value. When the by modifier is used on a MultiValue attribute, it only sorts on the first value in the attribute. Further, each item-ID only displays once, assuming that its display is not suppressed.
When the by-exp modifier is used, it explodes each value in the attribute and treats each value as though it were a separate item. Each value sorts into its proper position, and the item-ID displays with each value. In other words, the number of times an item-ID displays on a report coincides to the number of values in the exploded attribute. The explosion limiter specifies that output only occurs on data elements meeting the print limiting criteria.
list customers by-exp invoice.pointers
list invoices by-exp product = "widget"
select fn by-exp pay-date >= "01/01/01" and <= "12/31/01"