Whew, this one was a workout! Good practice configuring parsing tools!
The solution retains only the first performance of each program (for example, the solution contains the 9/7/2011 performance of program 11640, but not the 9/8/2011 performance).
I parsed all concerts, but filtered out all but the first.
The given solution removes first intermissions, but not all intermissions (for example, Program ID = 12104 and Piece ID = 7955*.
I removed all intermissions.
The given solution converts the soloist list to V_String (rather than V_WString), so some special characters are lost (example: Program ID = 13872, Piece ID = 2663*).
I used a V_WString field type to retain the special characters.