Klaz,
Thanks for the post - most handy. I'll change my code.
My problem was to produce six different cuts of a big dataset (each using different variations on five or six different class variables, which would normally require different sorts) on partially non-additive analysis variables, only using one pass through the data. My solution had been to have six arrays which - basically - I populated as I went along and then output all of them on the last row.
With your info, I'll probably just sort out the non-additive summaries that I need, and then output a row to one of six output datasets, and then fiddle with those.
Cheers