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
    
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
    
@MarkStorey-Smith Yes, a parameterized report per customer is what we need, but I want to generate them all at once, in a batch, and then post them online. (or, heaven forbid, print for mailing...) – atroon Jul 13 '13 at 13:09

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

 
discard

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.