Either you deal with what is available in ReportBuilder/Writer/Calc or obtain a different report generator. Do not see any great enhancements on the horizon. Of the ones I have tried, none of the no cost ones handles sub-reports. You can get a commercial product (Jasper Reports for one) which will handle that and cost you a considerable amount of money!
Some I have tested:
Oracle Report Builder
The Oracle Report Builder in Base is definitely the easiest to start using. This is mainly due to the fact no connection to a database is needed since it is already connected. It is also the only one which can generate reports from an embedded HSQL database. Only one input table/view/query is allowed at a time for report generation. There are many limitations regarding the format of the body of the report itself.
Data Vision
DataVision is the only tested product which allowed multiple input tables/views. It does not support queries from base. It was tested using an HSQL split database. It does not support embedded databases. The builder is fairly simple using a drag and drop method. Formatting is limited. The product is quite outdated and hasn’t been updated since 2007.
Pentaho Report Designer
Pentaho Report Designer has a graphical interface using drag/drop method for fields. Connection was more difficult.
You can use SQL in the Data Source interface to generate queries. It worked with all the queries copied from Base. The report has a variety of outputs including: PDF, Excel, CSV and others. It includes many sample reports which is helpful seeing how to construct something. It also supports styles (although I didn’t try this). Complex reports and charts can be created.
Dynamic Reports
Dynamic Reports is based upon the Jasper Reports engine. It is Java based and must be run in another product such as Eclipse (used for test). This was the most difficult to get first results. There is a step by step process to create a new report (fairly helpful) but more importantly not much on how to get to the point of actually trying this. For one reason, not knowing Java and also you must learn the interface (Eclipse). There is no graphical interface for report creation – insert code and view result. Change and retest. Connections are made within the code.
There are many example reports included but it takes a great deal of effort to begin to use even the simplest of features. Each step is a challenge. Since there is no drag and drop feature, you must either remember how to do something, refer to the documentation or get the code from a sample. Difficult to use but good results.
After working with this product for two days (the first spent mostly getting connections to work), I am finding this easier to work with than those generators with a drag and drop interface. Lining up fields is no longer a problem and column widths are checked before display of the report. It would be nice if there was some type of preview but really not a big deal.
Now I believe the tougher part of this is finding what code does what. It took about a half hour just to find out how to page break after a group change. In other report writers this is simply a setting in properties. This is code and not found in the documentation, on-line search, or their forum. I found it in a sample report.
Jasper Studio Community
This is a very well rounded package. You set up data connections as in other products. It has all the abilities of Dynamic Reports with the added drag & drop GUI. There is also a report server available. The report server runs through a browser and utilizes PostgreSQL for report storage. You can create/update reports in Studio and then post to the server from there. The Server must also have data connections set up for the reports. A change in a Studio data connection requires a change in the Server data connection. The server is then accessed by the user to generate reports based upon current data.
Of note, running both Studio and Report Server together will consume over 2.5mb of memory.
Have not yet seen a way to run reports directly from a user application. This may require an upgrade.