If we can change query item on the fly by end user, then we can make report flexible. The technique is to use prompt token. This document will demonstrate the idea to use prompt token to make columns flexible. Please see attached report specification for review (version 10.2 with sample Package GoSales)
The crosstab is generated based on column selection. When business users select Region, then all regions will become rows in crosstab.
The value prompt use static choices to list all needed selections. The use value behind the scene must be accurate as query item.
The key to make this simple report flexible is to apply prompt token
The column, or #prompt ('pColumn','token')# is used drive crosstab flexible.