The transaction event is a typical event with arrays of items. Since it's difficult, if not impossible, to store the contents of a list in one row we spread these events out over multiple rows. The typical transaction event will have one main row with the parameters of an event that are not part of the list and one row for the item bought and a row for the realCurrency spent.
The main event row will have the eventLevel set to 0 and the other events will have a value of 1 for this column. The mainEventId will refer to the eventId of the event at level 0.