bc.martin.zuffa Posted June 9, 2023 Posted June 9, 2023 Hello,I will explain my situation, we are planning to switch on java jasper service for creation of jasper reports from template but there were few question raised during our research so I would be glad if any could help me answer them.1. One question is about charts are we produce all this chart in Jasper (line chart, bar chart, PI/circle/donut chart, heatmap, bubble chart)?2. Are we able make combination of these charts3. Are we for example draw line in bar chart like this values were exceeded.4. Are we able to create Sankey diagrams in jasper.5.Does Jasper template allow legends? And there is also part about data feed, so I explain little more. The service we want use can use JsonDatasource 1. Is it possible to read other Json nodes as are selected only with JsonDatasource because in my test and observation of code it is not possible so it is like we must have JsonqlDatasource to do this or it is possible somehow?I was not able figure out because if select parent node Japer read arrays in json as Strings which are do not like very much.And there is also one question about loops1. It is possible to loop somehow in template only as I cannot extend service to do this, so for example if I want multiple pages for example some combination of components?
Mehak Rajkumar Posted June 12, 2023 Posted June 12, 2023 Thank you for posting to the Jaspersoft Community. Our team of experts has read your question and we are working to get you an answer as quickly as we can. If you have a Jaspersoft Professional Subscription plan, please visit https://support.tibco.com/s/ for direct access to our technical support teams offering guaranteed response times.
bc.martin.zuffa Posted June 12, 2023 Author Posted June 12, 2023 Hello we do not have professional subscription but if answer is we need professional subscription do some of these thing it is also acceptable
Raphaël Peguet Posted June 12, 2023 Posted June 12, 2023 Hello,Thank you for posting your questions here. Some of your questions would require a short screen-share call or at least a screenshot so that I fully understand what you are trying to do. Which solution are you using for your tests. Is it purely the JasperReports library or maybe JasperReports Server? Also are you looking at purchasing the solution with support or just the community version for now?With that said I will try a first attempt in answering. 1. One question is about charts are we produce all this chart in Jasper (line chart, bar chart, PI/circle/donut chart, heatmap, bubble chart)?2. Are we able make combination of these charts3. Are we for example draw line in bar chart like this values were exceeded.4. Are we able to create Sankey diagrams in jasper.5. Does Jasper template allow legends? [/code]>> Jaspersoft charting capabilities is very comprehensive thanks to the integration of JFree Charts allowing line, area, bar, Pi, circle, donut, multi-axis, combined charts and much more excepted the heatmap and the bubble charts. It comes with an integrated customizer giving you a lot of freedom to draw exactly what you need.The commercial edition also comes with integrated HighCharts javascript library so building modern charts is much easier. With HighCharts technology it is possible to draw the requested charts included heatmap and bubble charts and it has all the configuration capabilities that you need including regarding legends.Drawing a Sankey diagram though will require to build a custom component. Jaspersoft comes with the Custom Visualization Component which is the framework allowing you to simply create a chart of diagram on top of an external javascript library. D3.js supports Sankey diagram for example and if needed Jaspersoft has a dedicated team to help you with it.Some more info:- https://community.jaspersoft.com/documentation/jaspersoft-studio-user-guide-820/v820/working-charts- https://community.jaspersoft.com/documentation/jaspersoft-studio-user-guide-820/v820/html5-charts-commercial-editions- https://community.jaspersoft.com/documentation/jaspersoft-studio-user-guide-820/v820/dual-axis-multi-axis-and-combination-charts- https://community.jaspersoft.com/documentation/jaspersoft-studio-user-guide-820/v820/custom-visualization-component#kanchor138 And there is also part about data feed, so I explain little more. The service we want use can use JsonDatasource 1. Is it possible to read other Json nodes as are selected only with JsonDatasource because in my test and observation of code it is not possible so it is like we must have JsonqlDatasource to do this or it is possible somehow?I was not able figure out because if select parent node Japer read arrays in json as Strings which are do not like very much.[/code]>> There are different way to read data in JSON format, I would recommend using the jsonql query language as it allaws to extract exactly what you need from the document.Have a look at out documentation for samples (https://jasperreports.sourceforge.net/sample.reference/jsonqldatasource/index.html) there are a few samples of going up the JSON tree and extracting parent information. There are also samples on doing multi-level up.And there is also one question about loops1. It is possible to loop somehow in template only as I cannot extend service to do this, so for example if I want multiple pages for example some combination of components?[/code]The best way to create a loop is by leveraging the detail band in the template. The detail band will be created once for each record in the result set so you may create a detail band the size of a page and add everything you need in it and it will create a page per record. The flexibility offered by Jaspersoft allows to change the way the content is displayed depending on the data so each page may differ from each other. An alternative to create loop is by using the Javascript language instead of Java. This is set in the template for all the report so all expressions will need to be written in JS in that JRXML template (https://community.jaspersoft.com/documentation/jaspersoft-studio-user-guide-820/v820/using-javascript-language-expressions#kanchor131) . A third option is by using scriptlet, which is a bit of java code that can be injected in the report at run time. not sure if your need requires a scriptlet but you may learn more from, page 229 of the JasperReports Ultimate guide available in PDF at https://community.jaspersoft.com/documentation/jasperreports-library-ultimate-guidePlease validate or upvote this answer if that helps and if you need help during a trial we will organise a call to discuss these topics further.
Raphaël Peguet Posted June 12, 2023 Posted June 12, 2023 Hello, I only notice your answer as I sent my response below. Based on what I said I will let you get back to me on whether you'd like to evaluate the commercial edition. If you generate HTML reports with Jaspersoft, in addition to the support and legal protection the main benefit the commercial edition will have for you is the integrated HTML5 charting library (HighCharts) as it generates beautiful interactive charts as opposed to static images with basic charts (with JFree charts).
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now