I believe you’ve had some experience with SAP Query Reporting. It’s a powerful tool when you know how to use it and utilize its all features and functionality. It’s not just about SAP InfoSets and Ad-Hoc reports, but more about powerful tool to create flexible reports in MS Excel format.
Frequently we meet issues with Queries when there are empty cells, missed rows, double rows and etc. There is a good explanation why this happens. If you look into the code SAP generates for every InfoSet and then for every Query, there are some provide loops and unions. To manage the logic SAP uses to generate code for report there are some useful switches.
Here is an old document from SAP explaining when and how to use these switches.