Bonjour, j'ai réalisé un rapport qui normalement doit m'afficher entre autres 4 graphiques, en local via eclipse tout fonctionne, une fois le rapport en ligne, via le WebVieuwer le rapport fonctionne également.
Cependant j'ai besoin de générer ce rapport de manière automatique et j'ai donc décidé d'utiliser ReportEngine
Je me retrouve face à un problème que je ne comprends absolument pas et malgrès mes différentes recherche je n'ai pas trouver de solution(s).
Le problème est que , le même rptdesign fonctionnant en local et en ligne n'arrive pas à être généré directement en ligne de commande au format pdf.
J'ai d'abord changé le format afin de pouvoir voir quelque chose, en format html j'ai 4 erreurs qui apparaissent
Chart ConsommationVirtuelle:
- Duplicate aggregation name: COUNT.
Duplicate aggregation name: COUNT. ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: Duplicate aggregation name: COUNT.
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1245)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitExtendedItem(ReportQueryBuilder.java:693)
at org.eclipse.birt.report.engine.ir.ExtendedItemDesign.accept(ExtendedItemDesign.java:45)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:256)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitCell(ReportQueryBuilder.java:1241)
at org.eclipse.birt.report.engine.ir.CellDesign.accept(CellDesign.java:202)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:256)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitRow(ReportQueryBuilder.java:1207)
at org.eclipse.birt.report.engine.ir.RowDesign.accept(RowDesign.java:108)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:256)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitGridItem(ReportQueryBuilder.java:514)
at org.eclipse.birt.report.engine.ir.GridItemDesign.accept(GridItemDesign.java:142)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:256)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:237)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.prepare(AbstractDataEngine.java:180)
at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:122)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplciateReportExecutor.execute(SuppressDuplciateReportExecutor.java:42)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportExecutor.execute(LocalizedReportExecutor.java:61)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:179)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
at org.eclipse.birt.report.engine.api.ReportRunner.runAndRenderReport(ReportRunner.java:245)
at org.eclipse.birt.report.engine.api.ReportRunner.execute(ReportRunner.java:168)
at org.eclipse.birt.report.engine.api.ReportRunner.main(ReportRunner.java:127)
Caused by: org.eclipse.birt.chart.exception.ChartException: Duplicate aggregation name: COUNT.
at org.eclipse.birt.chart.reportitem.AbstractChartBaseQueryGenerator.addValueSeriesAggregateBindingForGrouping(AbstractChartBaseQueryGenerator.java:252)
at org.eclipse.birt.chart.reportitem.AbstractChartBaseQueryGenerator.addAggregateBindings(AbstractChartBaseQueryGenerator.java:676)
at org.eclipse.birt.chart.reportitem.AbstractChartBaseQueryGenerator.generateExtraBindings(AbstractChartBaseQueryGenerator.java:399)
at org.eclipse.birt.chart.reportitem.ChartBaseQueryHelper.createBaseQuery(ChartBaseQueryHelper.java:107)
at org.eclipse.birt.chart.reportitem.ChartReportItemQueryImpl.createQuery(ChartReportItemQueryImpl.java:176)
at org.eclipse.birt.chart.reportitem.ChartReportItemQueryImpl.createReportQueries(ChartReportItemQueryImpl.java:108)
at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitExtendedItem(ReportQueryBuilder.java:689)
... 23 more
Caused by: org.eclipse.birt.data.engine.core.DataException: Duplicate aggregation name: COUNT.
at org.eclipse.birt.data.engine.api.aggregation.AggregationManager.populateFactoryAggregations(AggregationManager.java:183)
at org.eclipse.birt.data.engine.api.aggregation.AggregationManager.populateAggregations(AggregationManager.java:153)
at org.eclipse.birt.data.engine.api.aggregation.AggregationManager.<init>(AggregationManager.java:123)
at org.eclipse.birt.data.engine.api.aggregation.AggregationManager.getInstance(AggregationManager.java:110)
at org.eclipse.birt.chart.reportitem.AbstractChartBaseQueryGenerator.setBindingExpressionDueToAggregation(AbstractChartBaseQueryGenerator.java:1074)
at org.eclipse.birt.chart.reportitem.AbstractChartBaseQueryGenerator.addValueSeriesAggregateBindingForGrouping(AbstractChartBaseQueryGenerator.java:212)
... 29 more
Chart ConsommationPhysique:
+ Duplicate aggregation name: COUNT.
Chart tableLigne:
+ Duplicate aggregation name: COUNT.
Chart tableColonne:
+ Duplicate aggregation name: COUNT.
Après plusieurs tests j'ai pu constater que cette erreur ne se produit uniquement que lorsque j'essai de grouper mes données.
J'ai d'abord penser que c’était le fait que j'ai un paramètre qui gère ce grouping, je l'ai supprimé ( le paramètre et le code associé) et essayé de juste activé la fonction grouping dans l interface des graphique mais même résultat.
Si je laisse le grouping enable à 'false' les graphique se génèrent sans problèmes.
Tous mes graphique on une valeur de type DATE en x. J'ai pensé que le problème pourrais venir de là mais même avec des donné de type timestamp en entrée j'ai le même résultats
J'ai également lancé le report "hello_world" pour tester reportEngine il fonctionne correctement.
Je crée un job via talend pour exécuter mes taches :
le tSSH contient :
now=$(date +%Y_%m_%d)
export BIRT_HOME=/usr/local/batchs/
./usr/local/batchs/ReportEngine/genReport.sh -f html -p paDateDeb='2015-02-01' -p paDateFin='2015-02-28' -p paTypeRap='semaine' -o '/reporting/Hana/Hana_Memor_$now' /var/reporting/HanaMemory.rptdesign
Le problème viens peut être des .jar du dossier ReportEngine , je ne savais pas quoi mettre à l’intérieur du coup j'ai mis tous ce que j'avais dans le dossier lib de mon webvieuwer, peut être était-ce une erreur !
J'ai testé également l'export en pdf du Webvieuwer, cela fonctionne.
Mon rapport se trouve en pièce jointe si vous avez besoin d'y jeter un coup d’œil.
Merci d'avance ! Just
Partager