Allow a different subtotal function for each data field.
Merge branch 'subtotal'