We've extended TeamDesk summary columns with Index function.

The purpose of the function is to extract the value from the specific record in the detail record set.

How it works? Detail records are filtered, and then sorted in the order specified in Sort By property. Each record assigned an index number starting from 1. The Index function picks up the value specified in Value Column property from the record with an index as specified in the Index property.

Suppose you have Contact table and Phones table related one-Contact-to-many-Phones, and you want to display phone of the type "Primary" in the contact record. Here, Index comes to help. Create a Primary Phone summary column, set its filter to check for phone type, set an index to 1, and the value column to phone number.

You can achieve similar results with Minumum/Maximum function, yet min/max approach is less predictable (as returned result strictly depends on the value) and may cause severe performance bottlenecks when having a lot of detail records as all of them should be processed to calculate the value.

Updated 09/03/2009

You can either type an numeric value for the index or use the column to take index from.