Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We use Kettle/PDI to handle usage records from legacy systems and feed them to an analysis database/DWH and also we report to our customers their activity and a backend commission report on a monthly basis from this legacy data.

Right now, I compile this into one enormous PDF using Pentaho Report Designer, then print it and hand it to the Finance gals who send checks out to the customer for the amount on the statement I've made. They hand-collate all this.

Obviously we would like to put these online, since we have a file-area for each customer already. The thing I need is for Pentaho to make, instead of a new page, a new PDF file for each business, and then name it the Business ID number and month, or something equally meaningful. Is this possible?

We have experimented with splitting up the PDF but it takes someone several hours to process, and it is not pleasant work at all. It seems this should be possible, but I do not know enough of the intricacies of Pentaho to make it work.

share|improve this question
How is that a dba question? Splitting / processing of PDF files is more a stackoverflow (i.e. programming job) type of question. – TomTom Jul 12 '13 at 20:06
You're right, but this isn't about splitting PDF files per se, it's about making Pentaho make PDF files how I want instead of one large one. This is also the only site where I found Pentaho in the search results. My personal inclination is that it's a ServerFault question, because it's enterprise software usage, and I've been sneered at before on Stack Overflow for not being 'pure' programming. I put it here because I am the DBA and it's my job to do this, since we're a relatively small company. I'm also the Sysadmin, the Network Guy, and the Web guy. Delete if needed. – atroon Jul 12 '13 at 20:14
"I am here because I am a dba" is not a smart answer when the question is seriously not about database administration or SQL per se. You also do not come here to order a pizza, and the same "but I am a dba" argument would allow you to do that here. – TomTom Jul 13 '13 at 4:55
@TomTom ...Business Intelligence including etl, reporting, and olap are on topic here. – Mark Storey-Smith Jul 13 '13 at 8:18
Unless I'm completely misreading the question, surely you just need to run a parameterised report per customer? – Mark Storey-Smith Jul 13 '13 at 8:20

Parametrize your report and make sure that your query is parametrized too. You can test your parametrized report inside the report designer.

Then use Kettle/PDI to feed the parameters to your report step, and once you produce the file, rename it or move it to the correct spot.

Running several smaller reports also allows you to run multiple reports in parallel. The reporting engine is inherently single-threaded, so one report process occupies one core. If you have more than one core, I recommend to run ([number of cores] - 1) instances of the step for optimum performance.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.