PDA

View Full Version : Announcing: Pentaho Reporting Output step for PDI



MattCasters
10-29-2010, 07:54 AM
A simple but effective PDI (Kettle) step to render a PRPT to an output file in your desired output format.

Screenshot
http://www.ibridge.be/images/pdi-pentaho-reporting-plugin.png

Binary
http://kettle4.s3.amazonaws.com/PentahoReporting.zip

Installation
Download PDI 4.1.0-RC1 from sourceforge (tested that one) or a recent trunk CI build.
Unzip PentahoReporting.zip to the plugins/ folder (no subdirectory, see http://jira.pentaho.com/browse/PDI-4842)

Source
http://source.pentaho.org/svnkettleroot/plugins/ReportingPlugin/trunk/
The old code for PDI 2.4.0 (3 years old) was branched.
revision 14271 or later.

Comments
If you patch 4.0.0 and later with recent libbase-TRUNK and libformula-TRUNK you probably could get it to run on those too.

TODO
- Add produced files to transformation result files list. Since the output file is input for the step I suppose it's not that urgent.
- Add word (RTF) and XLS2007 output options.


Video by osbi_fr (http://www.osbi.fr/)


http://www.youtube.com/watch?v=0gR3ijO1TCg


Feedback is welcome!.

Matt

Nicolas.Raoul
11-04-2010, 02:57 AM
That is a feature I really needed, thanks so much!
I just tested it, it works well with PDF, but when generating an HTML report I can't see the charts. I assumed they would be generated as image files, but I don't see them generated either. Did I miss something?
Thanks a lot!
Nicolas Raoul

MattCasters
11-04-2010, 05:48 PM
Thanks for testing Nicolas. There seems to be some problem with the Paged (or Directory) HTML option.
I created a JIRA case to mention this to my colleagues and I hope that this issue will be fixed shortly.

http://jira.pentaho.com/browse/PRD-3066

But in any case the idea is indeed that images get created too.

Take care,
Matt

Nicolas.Raoul
11-05-2010, 01:38 AM
I just wrote how to use this step to automatically send reports to a data warehouse's shops (http://nicolas-raoul.blogspot.com/2010/11/automatic-report-generation-now.html).
Not a major piece of literature, but well, feedback is welcome :-)
Hope this can help someone,
Nicolas Raoul

MattCasters
11-05-2010, 06:00 AM
Thanks Nicolas!

chenkeongyap
11-08-2010, 08:18 AM
6428

Hi All,

I have tried the reporting plugin inside PDI 4.01GA/4.10RC1 but it does not seem to be working. I have set all the necessary parameters but no PDF file is generated. pls see the attached image. Also, I noticed that I cannot save a transformation that contained reporting plugin step more than once and will get the following error :

Unable to save step info to the repository for id_transformation=3
Unable to save step information to the repository for id_step=9
Error inserting/updating row
ORA-00001: unique constraint (TEST1.IDX_STEP_ATTRIBUTE_LOOKUP) violated

pls advise me.

Nicolas.Raoul
11-08-2010, 08:44 AM
Hi chenkeongyap!

Stupid question but your report works fine in PRD, right?
Could you please post your .ktr file so that I can have a look?
I have no idea about the saving problem though.

Cheers!
Nicolas Raoul

MattCasters
11-08-2010, 12:36 PM
I figured out what the repository saving problem was, I'll fix it in a few hours.

MattCasters
11-08-2010, 06:44 PM
Fixed it (revision 14376), updated the download.

chenkeongyap
11-09-2010, 06:48 AM
Hi Matt,

Thanks for the quick response. I've tested revision 14376 using mysql as etl repository and it works perfectly fine. However, if I run the similar transformation inside Oracle 11G and the following errors came out, pls advise me.

java.lang.reflect.InvocationTargetException: Error saving transformation: org.pentaho.di.core.exception.KettleException:
Unable to save step info to the repository for id_transformation=73
Unable to save step information to the repository for id_step=36342
Error inserting/updating row
ORA-00001: unique constraint (KETTLE1.IDX_STEP_ATTRIBUTE_LOOKUP) violated


at org.pentaho.di.ui.spoon.dialog.SaveProgressDialog$1.run(SaveProgressDialog.java:77)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)
Caused by: org.pentaho.di.core.exception.KettleException:
Unable to save step info to the repository for id_transformation=73
Unable to save step information to the repository for id_step=36342
Error inserting/updating row
ORA-00001: unique constraint (KETTLE1.IDX_STEP_ATTRIBUTE_LOOKUP) violated


at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryStepDelegate.saveStepMeta(KettleDatabaseRepositoryStepDelegate.java:187)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryTransDelegate.saveTransformation(KettleDatabaseRepositoryTransDelegate.java:207)
at org.pentaho.di.repository.kdr.KettleDatabaseRepository.save(KettleDatabaseRepository.java:327)
at org.pentaho.di.repository.kdr.KettleDatabaseRepository.save(KettleDatabaseRepository.java:308)
at org.pentaho.di.ui.spoon.dialog.SaveProgressDialog$1.run(SaveProgressDialog.java:73)
... 1 more
Caused by: org.pentaho.di.core.exception.KettleException:
Unable to save step information to the repository for id_step=36342
Error inserting/updating row
ORA-00001: unique constraint (KETTLE1.IDX_STEP_ATTRIBUTE_LOOKUP) violated

at org.pentaho.reporting.plugin.PentahoReportingOutputMeta.saveRep(Unknown Source)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryStepDelegate.saveStepMeta(KettleDatabaseRepositoryStepDelegate.java:179)
... 5 more
Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
Error inserting/updating row
ORA-00001: unique constraint (KETTLE1.IDX_STEP_ATTRIBUTE_LOOKUP) violated

at org.pentaho.di.core.database.Database.insertRow(Database.java:1390)
at org.pentaho.di.core.database.Database.insertRow(Database.java:1304)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.insertStepAttribute(KettleDatabaseRepositoryConnectionDelegate.java:1247)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.saveStepAttribute(KettleDatabaseRepositoryConnectionDelegate.java:679)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.saveStepAttribute(KettleDatabaseRepositoryConnectionDelegate.java:667)
at org.pentaho.di.repository.kdr.KettleDatabaseRepository.saveStepAttribute(KettleDatabaseRepository.java:1523)
... 7 more
Caused by: java.sql.SQLException: ORA-00001: unique constraint (KETTLE1.IDX_STEP_ATTRIBUTE_LOOKUP) violated
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3316)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3400)
at org.pentaho.di.core.database.Database.insertRow(Database.java:1339)
... 12 more

dhartford
11-09-2010, 09:31 AM
This is a huge +1 on the idea. One of the challenges for quick/adhoc reporting of data with the Pentaho stack was the need to tie Kettle and and Jfreereport (doh, showing my age, PDI and PRD). This moves forward with the 'agile' concept quite a bit!

MattCasters
11-09-2010, 02:55 PM
chenkeongyap, perhaps you didn't update the other PDI installation? Or perhaps you tried to save into the repository before with the faulty step and it is possible some junk is left in there. If the last is the case you need to clean that up first. The rows in R_STEP_ATTRIBUTE with the given transformation and step id can be removed from the repository.

MattCasters
11-09-2010, 03:01 PM
OK, so nobody requested this yet in the poll, but here is a Jaspersoft reporting step (http://forums.pentaho.com/showthread.php?77947-A-jasper-report-ouput-plugin-may-be-useful-to-jasper-developers.).

I'm sure the BIRT variant wouldn't be too exotic or different in nature.

Just as a reminder to you all: both BIRT Reports and JasperReports can be run and integrated on the Pentaho BI server (CE).

Nicolas.Raoul
11-10-2010, 03:36 AM
As a test for this step, I had PDI generate the same report 1000 times.
The report just shows a single value, computed by a complex MDX query.
The first report took 10 seconds to generate, which is OK.

PROBLEM: To my surprise, the subsequent reports also all took 10 seconds (so about 3 hours in total).
Why is Mondrian not caching the result value of the first query?

Is it because the report generation process is not given sufficient memory?
I am starting Spoon with -Xmx1000m -XX:MaxPermSize=1600m
When I have a production server, I will be able to change those values to 15G, but will it solve the problem?

Thanks in advance!
Nicolas Raoul

chenkeongyap
11-10-2010, 06:56 AM
Hi Matt,

Thanks for the advice. I have cleaned up the problematic records from backend and it's working now.However, I have one question with regards to subtransformation clustering. Do you suggest me to open a new thread since this problem cannot be resolved easily.

MattCasters
11-10-2010, 07:12 AM
Nicolas: This is most likely not a problem for the reporting step but for Mondrian. Giving Kettle more memory will not help. Try to post a follow-up question in the Mondrian forum.

Chenkeong: yes, open a new thread in the Kettle forum.

balazsb
11-11-2010, 04:14 AM
OK, so nobody requested this yet in the poll, but here is a Jaspersoft reporting step (http://forums.pentaho.com/showthread.php?77947-A-jasper-report-ouput-plugin-may-be-useful-to-jasper-developers.).

That's because I chose "YES!!" but I (and probably many other people) think that the JasperReports step would be a nice addition.


Just as a reminder to you all: both BIRT Reports and JasperReports can be run and integrated on the Pentaho BI server (CE).

The JasperReports version in the BI server usually lags behind the current upstream version by a year or so.

Nicolas.Raoul
11-11-2010, 04:43 AM
Could it be the case that if this step generates 1000 reports, it opens and closes the Mondrian connection 1000 times?
That would explain why Mondrian does not cache.
If it could open the connection, then create the 1000 reports, then close, that would be faster by orders of magnitude.
Or am I mistaken?

Taqua
11-11-2010, 05:44 AM
Mondrian should cache independently of the connection. But: Mondrian is a evil thing when it comes to caching the schema and the actual data inside Mondrian: It requires that the datasource object is exactly the same instance as before (pointer to the same object, instead of *.equals() sameness) and that you always access the same *.mondrian.xml file with the same path. For non-JNDI connections, Pentaho Reporting has a cache inside to ensure that, but for JNDI datasources we rely on the JNDI provider to do the same (which works great both inside the platform and when used with Simple-JNDI in PRD).

Our caching relies on the singleton pattern with an object bound to a static context (like everyone else implements it), and thus is bound to the classloader that was used to load the reporting-engine code. If there are several independent classloaders each with a independent static context, then you will have independent caches.

Nicolas.Raoul
11-11-2010, 05:55 AM
Thanks Taqua for this information!
(I am actually using JDBC everywhere, I have not tried with JNDI)

Nicolas.Raoul
11-14-2010, 09:25 PM
Building this plugin from source is very easy, because all libraries are included:


svn checkout svn://source.pentaho.org/svnkettleroot/plugins/ReportingPlugin/trunk/

ant zipThe most interesting class is src/org/pentaho/reporting/plugin/PentahoReportingOutput.java and it is very readable.

Nicolas Raoul

Nicolas.Raoul
11-18-2010, 08:48 PM
Hello all!

I modified my report to use a JNDI data source.
Problem: generated reports are all empty files (file size is zero).

Even though they are generated correctly when I use the PRD GUI. Is it a known bug?

I am not familiar with JNDI in Pentaho, so I will describe what I did, if I am mistaken somewhere please tell me:


In my initial report, I had created a data connection by clicking on the "+" with tooltip "Add a new connection" in the Data Source edition dialog.
Add a paragraph with the properties of the data connection in file ~/.pentaho/simple-jndi/default.properties (result (http://pastebin.com/qWBb48VA)).
Restart the BI server and PRD.
This new data connection now appears in PRD. Switch to it simply by clicking it in the Data Source edition dialog.
Save, that's all.

Taqua
11-18-2010, 09:21 PM
The BI-Server does not use the simple-jndi configuration. After all, in most cases you do not run the server on the same box as PRD. (Your server admin may be unhappy when he see you. There are things worse than death-penalty, and you will find out about it when you tamper with the server :) ).

For server-side connections, define the connection in the Admin-console. Alternatively, you could create a JNDI connection in your J2EE container, but personally I think that is just painful.

hakonb
11-23-2010, 08:05 AM
I´ve tested the plugin with success running from spoon, but when I try running it with pan.sh I get an error:

./pan.sh -file=/somepath/send_report.ktr
...
org.pentaho.reporting.engine.classic.core.ReportParameterValidationException: The parameters provided for this report are not valid.

I experience the same behavior on my MacBook and a linux server.

Is it a bug? (or is it just me)
Håkon Torjus Bommen

Taqua
11-23-2010, 10:56 AM
Your report asks for mandatory parameter and validates parameters.

Make sure that your parameter types match the values you actually give in. So if you declare your parameter as Integer, but give in Double and you will get trouble. If you dont care about the numeric subtype, always declare your parameter as "Number" (or for dates as "Date"). And there is no implicit conversion of parameter - give a string and expect it to be matched against a integer and you will get an error. Text is not a number.

Nicolas.Raoul
11-23-2010, 10:53 PM
Using the Administration Console only, I was getting a NamingException. So, as I was told here (http://forums.pentaho.com/showthread.php?79427-NamingException-despite-same-JNDI-name-as-defined-in-Administration-Console), I specified the same data source via both simple-jndi and the Administration Console.

Same result: Reports are empty (even though they work fine under the PRD GUI).
Such messages appear on the console:


java.sql.SQLException: Failed to access the JNDI system
at org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.JndiDataSourceProvider.findDataSource(JndiDataSourceProvider.java:162)
at org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.JndiDataSourceProvider.getDataSource(JndiDataSourceProvider.java:86)
at org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.AbstractMDXDataFactory.performQuery(AbstractMDXDataFactory.java:342)
at org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.AbstractNamedMDXDataFactory.performQuery(AbstractNamedMDXDataFactory.java:81)
at org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.BandedMDXDataFactory.queryData(BandedMDXDataFactory.java:54)
at org.pentaho.reporting.engine.classic.core.CompoundDataFactory.queryData(CompoundDataFactory.java:88)
at org.pentaho.reporting.engine.classic.core.states.CachingDataFactory.queryInternal(CachingDataFactory.java:168)
at org.pentaho.reporting.engine.classic.core.states.CachingDataFactory.queryData(CachingDataFactory.java:143)
at org.pentaho.reporting.engine.classic.core.states.CascadingDataFactory.queryData(CascadingDataFactory.java:81)
at org.pentaho.reporting.engine.classic.core.states.datarow.ReportDataRow.createDataRow(ReportDataRow.java:97)
at org.pentaho.reporting.engine.classic.core.states.datarow.DefaultFlowController.performQuery(DefaultFlowController.java:186)
at org.pentaho.reporting.engine.classic.core.states.process.ProcessState.<init>(ProcessState.java:279)
at org.pentaho.reporting.engine.classic.core.layout.output.AbstractReportProcessor.prepareReportProcessing(AbstractReportProcessor.java:460)
at org.pentaho.reporting.engine.classic.core.layout.output.AbstractReportProcessor.processReport(AbstractReportProcessor.java:1371)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfReportUtil.createPDF(PdfReportUtil.java:122)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfReportUtil.createPDF(PdfReportUtil.java:70)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfReportUtil.createPDF(PdfReportUtil.java:154)
at org.pentaho.reporting.plugin.PentahoReportingOutput.processReport(PentahoReportingOutput.java:219)
at org.pentaho.reporting.plugin.PentahoReportingOutput.processRow(PentahoReportingOutput.java:108)

hakonb
11-24-2010, 03:32 AM
Your report asks for mandatory parameter and validates parameters.

Make sure that your parameter types match the values you actually give in. So if you declare your parameter as Integer, but give in Double and you will get trouble. If you dont care about the numeric subtype, always declare your parameter as "Number" (or for dates as "Date"). And there is no implicit conversion of parameter - give a string and expect it to be matched against a integer and you will get an error. Text is not a number.

Yes, that´s what it seems like, but shouldn´t the report fail when run through spoon. The play button and 'preview' both generate the reports without any problems.

This might be a report issue though. I had similar problems passing the parameters to the report through an xaction. That´s why I tried to use this step in the first place.

Nicolas.Raoul
11-25-2010, 12:46 AM
OK, I fixed the NamingException by defining the data source in pdi/simple-jndi/jdbc.properties too :-)

So now, I am sure PDI, PRD and the BI server are configured to use the same JNDI data source. And... it is still not caching MDX requests results (generating the same MDX-heavy report 1000 times takes 1000 times what it takes for generating once).

To summarize, here is where I defined the data source that is used in my report and sub-reports:
1) In ~/.pentaho/simple-jndi/default.properties as:

bijndi/type=javax.sql.DataSource
bijndi/driver=com.mysql.jdbc.Driver
bijndi/user=root
bijndi/password=
bijndi/url=jdbc:mysql://localhost:5029/xyzbi2) In pdi/simple-jndi/jdbc.properties same as above.
3) In the Administration Console with the same values.

So I would expect all MDX requests to be processed by the BI server, thus using only a single Mondrian cache. Obviously that is not the case. Any idea what could be going wrong?

Taqua
11-25-2010, 06:25 AM
No, Mondrian is a embedded library and not a server. Kettle and PRD do not connect to a BI-Server to execute Mondrian queries.

The only hint I can give regarding how it behaves in Kettle is: Mondrian is extremely picky when it comes to its cache. If you work with JNDI your JNDI provider *must* cache the datasource-instance it returns so that the same access to that datasource returns the same instance. The SimpleJNDI version we use in PRD does that out of the box, so unless Kettle uses a older version of that library, I cannot see why it should not work. PRD uses SimpleJNDI 0.11.3.

It may also be a good idea to delete any plugin-local copy of Simple-JNDI so that only one instance of that library is used. Otherwise, if kettle creates multiple Classloaders, then each Classloader runs with its own static context, which makes caching useless.
It might also be a good idea to

hakonb
12-07-2010, 05:49 AM
Yes, that´s what it seems like, but shouldn´t the report fail when run through spoon. The play button and 'preview' both generate the reports without any problems.

This might be a report issue though. I had similar problems passing the parameters to the report through an xaction. That´s why I tried to use this step in the first place.


Hurra!

I downloaded the latest pdi-4.1-stable, and now pan.sh generated my reports without problems.

diddy
12-22-2010, 10:02 AM
I tried using this plugin on Kettle 4.1.0 stable and get following error:


2010/12/22 14:52:10 - Pentaho Reporting Output.0 - ERROR (version 4.1.0-stable, build 14410 from 2010-11-16 16.43.28 by buildguy) : Unexpected error :
2010/12/22 14:52:10 - Pentaho Reporting Output.0 - ERROR (version 4.1.0-stable, build 14410 from 2010-11-16 16.43.28 by buildguy) : java.lang.NoClassDefFoundError: org/pentaho/reporting/engine/classic/core/ClassicEngineBoot
2010/12/22 14:52:10 - Pentaho Reporting Output.0 - ERROR (version 4.1.0-stable, build 14410 from 2010-11-16 16.43.28 by buildguy) : org.pentaho.reporting.plugin.PentahoReportingOutput.performPentahoReportingBoot(Unknown Source)
2010/12/22 14:52:10 - Pentaho Reporting Output.0 - ERROR (version 4.1.0-stable, build 14410 from 2010-11-16 16.43.28 by buildguy) : org.pentaho.reporting.plugin.PentahoReportingOutput.processRow(Unknown Source)
2010/12/22 14:52:10 - Pentaho Reporting Output.0 - ERROR (version 4.1.0-stable, build 14410 from 2010-11-16 16.43.28 by buildguy) : org.pentaho.di.trans.step.RunThread.run(RunThread.java:40)
2010/12/22 14:52:10 - Pentaho Reporting Output.0 - ERROR (version 4.1.0-stable, build 14410 from 2010-11-16 16.43.28 by buildguy) : java.lang.Thread.run(Thread.java:662)


I double checked my paths and they are correct. Also, my report is functional.
Any ideas why this is not working?
Thanks!

diddy
12-23-2010, 07:00 AM
ok, I got it working ... reinstalled the plugin.

chenkeongyap
12-29-2010, 05:09 AM
Hi All,

I was trying to run ETL reporting plugin to generate PDF and iam using oracle 11gr2 and solaris 10. Iam getting the following error.
Pls advise what is the missing package for solaris that is causing "Unable to lookup the font family: Calibri". I had enabled embeded font inside prpt but does not seem to be working.
WARN 29-12 17:38:57,856 - Warning: Data-Set does not contain a column with name 'TotalAmtInternet'
WARN 29-12 17:38:57,860 - Warning: Data-Set does not contain a column with name 'TotalAmtInternet'
WARN 29-12 17:38:57,865 - Warning: Data-Set does not contain a column with name 'TotalAmtSMS'
WARN 29-12 17:38:57,871 - Warning: Data-Set does not contain a column with name 'TotalAmtSMS'
WARN 29-12 17:38:57,875 - Warning: Data-Set does not contain a column with name 'TotalAmtCallOutgoing'
WARN 29-12 17:38:57,883 - Warning: Data-Set does not contain a column with name 'TotalAmtCallOutgoing'
WARN 29-12 17:38:57,888 - Warning: Data-Set does not contain a column with name 'TotalAmtCallIncoming'
WARN 29-12 17:38:57,894 - Warning: Data-Set does not contain a column with name 'TotalAmtCallIncoming'
WARN 29-12 17:38:58,294 - Unable to lookup the font family: Calibri
WARN 29-12 17:38:58,621 - Unable to lookup the font family: Calibri
WARN 29-12 17:38:58,752 - Unable to lookup the font family: Calibri
WARN 29-12 17:38:58,757 - Unable to lookup the font family: Calibri
WARN 29-12 17:38:58,763 - Unable to lookup the font family: Calibri
WARN 29-12 17:38:58,779 - Unable to lookup the font family: Calibri
WARN 29-12 17:38:58,869 - Unable to lookup the font family: Calibri
WARN 29-12 17:38:58,937 - Unable to lookup the font family: Calibri
WARN 29-12 17:38:58,981 - Unable to lookup the font family: Calibri
WARN 29-12 17:39:00,824 - Warning: Data-Set does not contain a column with name 'TotalAmtContract'
WARN 29-12 17:39:00,824 - Warning: Data-Set does not contain a column with name 'TotalAmtTax'
WARN 29-12 17:39:00,824 - Warning: Data-Set does not contain a column with name 'TotalAmtOcc'
WARN 29-12 17:39:00,927 - Unable to lookup the font family: Calibri
WARN 29-12 17:39:00,931 - Unable to lookup the font family: Calibrihttps://na3.salesforce.com/s.gifhttps://na3.salesforce.com/s.gif

G Terpstra
01-04-2011, 08:07 AM
Hello,
I also have problems with the Reporting tool.
The strange thing is; my colleague has the same installed and he gets a well formed pdf generated out of this. When I run the same job + transformations and report I get this error. An error also appears when changing the format to CSV. Does anyone have a suggestion?
INFO 04-01 08:59:47,568 - Join Rows (cartesian product) - Finished processing (I=0, O=0, R=4, W=1, U=0, E=0)
ERROR 04-01 08:59:50,678 - Writing PDF failed.
java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V
at org.pentaho.di.core.xml.XMLHandler.loadXMLString(XMLHandler.java:663)
at org.pentaho.di.core.xml.XMLHandler.loadXMLString(XMLHandler.java:643)
at org.pentaho.pms.schema.concept.types.aggregation.ConceptPropertyAggregationList.fromXML(ConceptPropertyAggregationList.java:95)
at org.pentaho.metadata.util.XmiParser.parseXmi(XmiParser.java:1497)
at org.pentaho.reporting.engine.classic.extensions.datasources.pmd.PmdConnectionProvider.getMetadataDomainRepository(PmdConnectionProvider.java:81)
at org.pentaho.reporting.engine.classic.extensions.datasources.pmd.PmdDataFactory.open(PmdDataFactory.java:426)
at org.pentaho.reporting.engine.classic.core.CompoundDataFactory.open(CompoundDataFactory.java:159)
at org.pentaho.reporting.engine.classic.core.states.CachingDataFactory.open(CachingDataFactory.java:97)
at org.pentaho.reporting.engine.classic.core.parameters.DefaultParameterContext.open(DefaultParameterContext.java:131)
at org.pentaho.reporting.engine.classic.core.states.process.ProcessState.<init>(ProcessState.java:204)
at org.pentaho.reporting.engine.classic.core.layout.output.AbstractReportProcessor.prepareReportProcessing(AbstractReportProcessor.java:463)
at org.pentaho.reporting.engine.classic.core.layout.output.AbstractReportProcessor.processReport(AbstractReportProcessor.java:1412)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfReportUtil.createPDF(PdfReportUtil.java:122)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfReportUtil.createPDF(PdfReportUtil.java:70)
at org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfReportUtil.createPDF(PdfReportUtil.java:154)
at org.pentaho.reporting.plugin.PentahoReportingOutput.processReport(Unknown Source)
at org.pentaho.reporting.plugin.PentahoReportingOutput.processRow(Unknown Source)
at org.pentaho.di.trans.step.RunThread.run(RunThread.java:40)
at java.lang.Thread.run(Thread.java:636)
INFO 04-01 08:59:50,699 - Pentaho Reporting Output - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)

Taqua
01-04-2011, 09:01 AM
You have a invalid xml parser on your classpath. Remove all references to jars that have "xml-api" in their name. Also check and double check your $JRE/lib/ext directory for evil jars.

funny
01-05-2011, 05:07 AM
Hey,
thank you for this perfect Step. :) I love it..
But I've got one question, are you going to release an update with the version 3.7 of the reporting engine?
It would be perfect :)
Best Regards
funny

G Terpstra
01-06-2011, 06:03 AM
You have a invalid xml parser on your classpath. Remove all references to jars that have "xml-api" in their name. Also check and double check your $JRE/lib/ext directory for evil jars.
Thank you for your remark. It seems I have made a mess of where what jar files where copied to. My guess is there where some duplicates.
I removed my local kettle installation and reinstalled it. The exceptions are gone.

jianjunchu
02-23-2011, 02:35 AM
svn://pentahochina.com/kettle/plugins/jasperreport

manual : http://pdi.itpub.net/post/37422/485384

jianjunchu
02-23-2011, 02:40 AM
here is a jasper report output

manual:
http://pdi.itpub.net/post/37422/485384

svn://pentahochina.com/kettle/plugins/jasperreport

MattCasters
04-01-2011, 07:28 PM
The "Pentaho Reporting Output" step is now part of vanilla Pentaho Data Integration starting from version 4.2-M1 (to be released next week somewhere).
The plugin was also updated to the recently released Pentaho Reporting version 3.8.0.
A binary version can be downloaded here: http://kettle4.s3.amazonaws.com/PentahoReporting-3.8.zip

Have fun with it!

Matt

deepak.suthar
04-01-2014, 01:37 PM
I'm a bit confused as to why this isn't working for me. I created a report inside of Pentaho Report Designer, tested it using Preview and exported it to PDF - my chart has all the appropriate data. I followed the video to save the file in the same directory as the rest of my Spoon Jobs/Transformations as the .prpt file. I created a new transformation as part of an existing job, added the data grid with Report and output as Strings, with the data containing the location to the file c:\kettlerepo\piechart.prpt with the output of c:\piechart.pdf, then connected it to a Pentaho Reporting Output using Report and output, to a PDF.

When I run the transformation it does create the pdf, but all it has is the Title on top of a box that has CHART.USER_NO_DATA_AVAILABLE in the middle of it. Do I need to configure the db connection again in Spoon / Kettle? Or is it contained in the prpt file, I'm not sure how this works.

Is there something else I need to do here?

Thanks,

Deepak