I am trying to do a similar crosstab report shown in the following sample page. http://jasperforge.org/sf/wiki/do/viewPage/projects.jasperreports/wiki/Samples The difference is that my datasource is a JRMapArrayDataSource, not from DB using SQL. I would like to create the following report template group header 1 crosstab1 group header 2 crosstab2 ... Is there a way to query the JRMapArrayDataSource to get a list of distinct values for group headers? Thanks.