I have found subreports to only be useful when using SQL as a datasource in simple reports. You will gain the most efficiency by switching to javabean datasources - they are 10x more flexible. Sorry, not the answer you were looking for, but it is a lesson I learned after many hours of wasted time with subreports.