Jump to content
We've recently updated our Privacy Statement, available here ×

Friendly User

Members
  • Posts

    435
  • Joined

  • Last visited

  • Days Won

    2

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Everything posted by Friendly User

  1. Scenario:You have built a report that is run against PostgreSQL database. The report does some type casting of timestamp parameters from the server to Timestamp with Time Zone. Report runs fine when run in Studio but on TIBCO JasperReports® Server side the timestamp with time zone returned by the database is always is the server time zone regardless of what time zone is picked during user login. For example, your server JVM is in America/New_York time zone, your user is America/Los_Angeles time zone and database is in UTC. The timestamp with time zone returned by the database in this case is always in America/New_York time zone. Why is that and how to avoid this issue? Solution:JasperReports® Server uses PostgreSQL drivers to connect to the database. By PostgreSQL specification, the time zone for the database session established by the driver is always assumed to come from the client. The client time zone in this case will be the time zone of JVM. Regardless of what time zone is picked during the session, the driver will look for the Java time zone to establish the session. The time stamp casting in this case will happen in that assumed time zone. There are some options on how to deal with that: Explicitly specify the time zone when casting to timestamp to tz using type cast functions. This approach, however, might not beIf you are using JasperReports® Server 7.2.0 Professional you can download the hotfix_JRSPro7.2.0_cumulative_20200123_0006.zip patch and apply it to the server. The patch adds a new option for the SQL query executer that issues a set time zone directive that sets the session time zone to report time zone before executing the report query. Once installed, you can set the profile attribute on the server level SET_LOCAL_TIME_ZONE_IN_SQL to value True. The profile attribute is set by the superuser in Manage > Server Settings > Server Attributes. It can also be set as a property in JRXML: <property name=“SET_LOCAL_TIME_ZONE_IN_SQL” value=“true”/>. This feature will be introduced in future versions of JasperReports® Server as well.
  2. Scenario:You have installed a new JsaperSoft® Studio on a machine where you had different versions of studio. In the freshly installed studio you get an error when trying to preview the report: net.sf.jasperreports.engine.JRException: Class net.sf.jasperreports.engine.export.ElementPropertyExporterFilterFactory not found How to deal with this? Solution:This error comes when you install an older version of studio and try to work in the workspace that was previously created by the newest version. The class ElementPropertyExporterFilterFactory is present in the newest version of the library but is absent from the older ones. To deal with this error do the following: Locate your JasperStudio workspace. The workspace folder is usually located in your user home folder under /JasperSoftWorkspace. For example in Windows: C:Users<User>JaspersoftWorkspace.Backup all the reports from your current workspace. They will be under the project folders under the JaspersoftWorkspace folder. Simply copy the JRXML files to another locationDelete the workspace folderRun the newly installed studio. It'll re-cresate the workspaceCopy the reports back to the project folders
  3. Hello, please try to use java.sql.Timestamp type for the parameter that is associated with the input control. java.util.Date strips the time part when the value comes from a JasperServer input control
  4. Problem:You design the dual measure tree map and changed the formatting - valueDecimals and valueSuffix. This formatting applied on the display to one measure but doesn't get applied to another. How to apply it to both? Solution:For the second measure, you'll need to overwrite the tooltip.pointFormat chart property: <hc:chartProperty name="tooltip.pointFormat"> <hc:propertyExpression> <![CDATA["{point.fullName}<br/>{series.name}: <b>{point.value}</b><br/>{series.options.colorMeasureName}: <b>{point.colorValue:.2f} %</b>"]]> </hc:propertyExpression></hc:chartProperty>[/code]The pointFormat property applies to all points on the chart, including the second measure. If you want to apply different formatting for both measures, edit the respective measure, go to Advanced Properties tab, press Add, select the SeriesProperty contributor, specify tooltip.pointFormatter property name and pass the value in the Expression similar to how you would pass the pointFormat value otherwise.
  5. Introduction:The purpose of this Wiki article is to be a central location for users who want to explore the HTML5/High Chart functionality in professional editions of JasperReports and want to start creating their own charts. This is aimed not only at new users but also at other users who would want to take a look at the samples or tip and tricks videos. This article contains links to videos, links to documentation materials and other articles, samples attachments and instructions that will help you get started. Getting started video course:There is a video guide series that explain the basic concepts and help you get started: - Getting started part 1 - Basic concepts - Getting started part 2 - Expanding on basic concepts - Getting started part 3 - Advanced properties - Getting started part 4 - HyperlinksThis video series is a work in progress and will be updated with more videos in the future. This article will be updated respectively to include links to these new videos. There are also other videos created outside of the scope of this video series that demonstrate different tips and tricks for chart usage. There are also videos about different tips and tricks you can do with charts that are available on the support channel: https://www.youtube.com/channel/UCCxK2NRbV9BDvjUlmo6C_LgThe video library is going to get updated in future. Some of the videos of particular interest: - using JavaScript Functions in HTML5 charts - running totals in HTML5 charts - using heatmaps - using series properties in measures - Multi-Axis charts - 3D Charts The videos will continue to be released, some will be outside of getting started scope as they will cover more advanced topics. Documentation:There is basic documentation on HTML5 charts creation in JasperSoft Studio Guide that can be found on this page: https://community.jaspersoft.com/documentation Find and download the documentation for your version of the product. The section you're interested in is "HTML5 Charts in Commercial Editions": https://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v720/html5-charts-commercial-editions-0 Documentation features overview of HTML5 charts in JasperReports Library and step-by-step insturctions on how to create basic chart types and how to apply formatting and customization. HighCharts API Reference:HTML5 Charts are based on HighCharts technology - a standalone Javascript library with powerful capabilities. As of now, not all features of HighCharts are implemented in HTML5 Charts in JasperReports. HighCharts library version that is embedded in JasperReports Professional edition gets updated with new releases to include more chart types and latest changes in the API. Regardless of the version mismatch, the HighChart API reference is a very useful resource to learn more about the capabilities of the library and take a look at the samples: https://api.highcharts.com/highcharts/ How to apply the information from the reference to JasperReports HTLM5 charts? The properties for chart objects can be applied to the HTML5 charts in the following way. The property like this: plotOptions: { series: { dataLabels: { enabled: true }}}[/code]Translates into plotOptions.series.dataLabels.enabled: true[/code]You can take a look at the properties for different objects, see what their possible values are and also check out the JS Fiddle samples to see how changing the property values affects the chart output. Samples:There is a zip file with JasperSoft Studio project attached to the article. The project contains reports with HTML5 charts. The reports have been built by following instructions in the documentation so you can take a look at the final version and see how the things are implemented in case you have issues with the documentation. To import the attached zip as a project into your JasperSoft Studio do the following: In Jaspersoft Studio go to Project Explorer viewRight click on white space > ImportUnder General select Import Existing Projects Into WorkspaceSwitch to Archive File, point to the downloaded archive, make sure the Chart Samples project is selectedPress NextAll the reports in the sample project are based on Sample Data Adapter that is provided with Jaspersoft Studio. There is another sample chart project that was developed a while again. Some of the samples may not be relevant at this point but they can provide insight about certain features and chart types. These samples are based not only on sample data but also on Foodmart and SugarCRM sample databases that are included with JasperReports Server. https://community.jaspersoft.com/wiki/chart-tips-and-tricks-project-importing-workspace-and-using-samples In addition to videos, there is also written material available in form of Wiki articles on the community website. The articles related to the topic are usually tagged with HTML5 Chart tag or HighCharts tag: https://community.jaspersoft.com/search/category/Wiki/tags/html5-charts-6554?query=https://community.jaspersoft.com/search/category/Wiki/tags/highcharts-2119?query=Lot's of these articles contain general advice on how to deal with specific situations, guides and how-to's.
  6. Scenario:You are using PhantomJS 1.9.8 and trying to run and export to PDF a report with an HTML5 chart. In process you get the following error: [toc]PhantomJS phantomjs#1 error: Error rendering chart: TypeError: 'undefined' is not a function (evaluating 'e.getAttribute("type")')PhantomJS phantomjs#1 error: at file:///var/cache/tomcat/temp/jr_script_5693530864191797785_jquery-3.3.1.min.js: 2 (He)ERROR ProcessOutputReader,JR PhantomJS error phantomjs#1:149 - PhantomJS phantomjs#1 error: at file:///var/cache/tomcat/temp/jr_script_5693530864191797785_jquery-3.3.1.min.js: 2ERROR ProcessOutputReader,JR PhantomJS error phantomjs#1:149 - PhantomJS phantomjs#1 error: at file:///var/cache/tomcat/temp/jr_script_5693530864191797785_jquery-3.3.1.min.js: 2 (Re)ERROR ProcessOutputReader,JR PhantomJS error phantomjs#1:149 - PhantomJS phantomjs#1 error: at file:///var/cache/tomcat/temp/jr_script_5693530864191797785_jquery-3.3.1.min.js: 2ERROR ProcessOutputReader,JR PhantomJS error phantomjs#1:149 - PhantomJS phantomjs#1 error: at file:///var/cache/tomcat/temp/jr_script_5693530864191797785_jquery-3.3.1.min.js: 2ERROR ProcessOutputReader,JR PhantomJS error phantomjs#1:149 - PhantomJS phantomjs#1 error: at phantomjs://webpage.evaluate(): 15ERROR ProcessOutputReader,JR PhantomJS error phantomjs#1:149 - PhantomJS phantomjs#1 error: at file:///var/cache/tomcat/temp/jr_script_8739760546635262832_require-2.3.6.src.js: 1696ERROR ProcessOutputReader,JR PhantomJS error phantomjs#1:149 - PhantomJS phantomjs#1 error: at file:///var/cache/tomcat/temp/jr_script_8739760546635262832_require-2.3.6.src.js: 883ERROR ProcessOutputReader,JR PhantomJS error phantomjs#1:149 - PhantomJS phantomjs#1 error: at file:///var/cache/tomcat/temp/jr_script_8739760546635262832_require-2.3.6.src.js: 1139[/code]How to avoid this problem? Solution:This problem is most likely caused by the PhantomJS itself. Upgrade to the latest available version to avoid the problem.
  7. Scenario:You have developed a chart report in Jaspersoft® Studio with an HTML5 chart. The chart uses a property such as dataLabel.formatter that requires you to pass a callback function. This report works in Jaspersoft Studio but doesn't work properly when executed by TIBCO JasperReports® IO : the formatter function doesn't apply. How to deal with this issue? Solution:JasperReports IO, just like Jaspersoft Studio and TIBCO JasperReports® Server, require you to enable usage of function properties. To do that make the following changes to jrio-1.1.0repositorysamplesJR-INFcontext.xml and restart the service: <property> <name>com.jaspersoft.jasperreports.highcharts.function.properties.allowed</name> <value>true</value></property>[/code]
  8. Scenario:You designed a report in TIBCO Jaspersoft® Studio that has a field with a name that contains the word "Into" in it, for example $F{MovedIntoFolder} or $F{ScannedIntoShipment}. The report runs fine in the Jaspersoft® Studio and it doesn't run on the server. Alternatively, it ran on the server successfully before and then you upgraded to the newest version and it doesn't anymore. Solution:The word INTO is causing the SQL to be deemed invalid. The regex for the valid SQL has changed in the recent version. To avoid this problem go to ${JRS WAR file}/WEB-INF/classes/validation.properties file, find the ValidSQL validator: Validator.ValidSQL=(?is)^\s*(select|call)\b((?!\binto\b)[^;])*;?\s*$[/code]Remove the word into from it: Validator.ValidSQL=(?is)^\s*(select|call)\b((?!\b\b)[^;])*;?\s*$[/code]Save and restart.
  9. Scenario:You designed some reports in TIBCO Jaspersoft® Studio and deployed them to your server. They worked fine. You upgraded the server and now the reports display empty values in the fields in PDF and HTML output. CSV output is still fine. What could cause this? Solution:Check the report design to see what font your fields use. By default Jaspersoft Studio creates fields with "SansSerif" font. It is not an actual font but sort of a wildcard. This value, just like "Serif" and "monospaced", is resolved to the default font from that family for your JVM. During the upgrade the JVM may have changed or the OS and it's version which changed the font as well. Even if it resolves to the same font as previously, the font file itself can be different. The only way to ensure the consistency of output between the versions, JVM's and operating systems is to use an actual font instead of font family wildcard and have that font packaged in the font extension. To create a font extension in Jaspersoft Studio, go to Window > Preferences > Jaspersoft Studio > Fonts, press Add, point to files containing the font, select PDF encoding and make sure the Embed this Font in PDF document is checked. Then in the font screen select your newly added font and press export. Save the exported JAR under some name with .jar extension. Afterwards, make sure all your fields in the report use that font, add the font to your WAR file lib folder (${JasperReports WAR}/WEB-INF/lib) and restart TIBCO JasperReports® Server.
  10. Scenario:You are designging a chart and want to change the style of labels in the chart, for example font of the legends or font of data labels. How can this be done in TIBCO JasperSoft® Studio? Solution:Some of the styling can be changed in the Basic Formatting for example font size or font type for title but some style objects are only accessible through the advanced properties. The objects in the chart can be styled through their respective style property, for example: title.style, plotOptions.pie.dataLabels.style or legend.itemStyle. This property contains a CSS object and it's not really possible to pass the whole object through the UI but you can pass single properties and their values. These properties are not listed, so you'll have to use the Add button in the Advanced Configuration. The Style property contains the High Charts CSS Object: https://api.highcharts.com/class-reference/Highcharts.CSSObject#toc3 You can access the properties of that object like this: <property>.style.<CSSObjectProperty>. For example: title.style.fontFamily - change fontlegend.itemStyle.fontWeight - make font boldplotOptions.pie.dataLabels.style.fontSize - change font size[/code]The CSSObject, in addition to the properties listed in the reference, also inherits whatever styles are supported on the given element. The styles in CSS are named with a dash ("font-family"), in the HTML5 chart configuration they are named in camelCase ("fontFamily"). For example, you can change the style of the font through fontStyle property, even thogh it's not listed in the URL above: title.style.fontStyle: italic[/code]The values for the properties can be looked up in the CSS reference.
  11. Scenario:You have a virtual data source that has new tables introduced on the fly but these tables do not get detected by the engine as they are added. What can be done about this? Solution:You will need to clean the Virtual Data Source cache on the server for the changes to data source to be reflected. To do that, issue the following REST request: DELETE http://<host>:<port>/jasperserver-pro/rest_v2/caches/vds/[/code]This should clean up all your caches and your changes should now be reflected. You can have a script that issues this call after the changes to the database.
  12. Scenario:When taking old .jrxml files from our JasperReports® Server 6.2.1 that require updating, making changes in Jaspersoft® Studio 6.9.0 and then attempting to either update the old files or deploy the updated jrxmls as new reports, produces the following error message: "The selected JRXML could not be parsed. You might have selected the wrong file."[/code]Solution:By default JasperSoft® Studio tries to save and upload the JRXML's in the latest possile JRXML version which may not be compatible with the parser on the server side. You can configure the version used by the studio. Go to Window > Preferences > Jaspersoft Studio > Compatibility and in the Source .jrxml version set the version to 6.2.1. Then open your reports, do a minor change and re-save it. This should re-generate the JRXML that is compatible with previous JasperReports version. You can also set the same compatibility setting on project level by right clicking on the project folder in the Project Explorer > Properties > Jaspersoft Studio > Compatibility
  13. Scenario:When creating the ad hoc view, user first needs to select a domain and then choose the data. At that stage, the user can choose to save his selection as a domain topic. You want to disable that feature and not allow user to save the domain topic. Solution:you can disable saving as topic for users if you edit the JSP on Tomcat side: go to /WEB-INF/jsp/templates/dataChooserFlowControls.jsp Remove or comment the following block: <t:addListAttribute> <t:addAttribute>saveTopicTab</t:addAttribute> <t:addAttribute> <spring:message code='button.chooserSaveTopic' javaScriptEscape='true'/> </t:addAttribute> <c:if test="${selectedTab eq 'saveAs'}"> <t:addAttribute>selected</t:addAttribute> </c:if></t:addListAttribute>[/code]Save, clean JSP cache and restart the server.
  14. Scenario:You have a bar chart where data comes from the database in the order the chart needs to render the bar. Example: ReportLabel ReportPeriod ReportValueMay-19 1 72Jun-19 1 90Jul-19 1 85Aug-19 1 73Sep-19 1 65Oct-19 1 45Nov-19 1 9Dec-19 1 5[/code]Must show May-19 as the bar, Jun-19 as the second. But the chart is being rendered by the alphabetic order of the ReportLabel value. What needs to change to have the chart drawn in the same order as the data coming in? Solution:Since we are pre-sorting the data beforehand, the category in this case needs to be set to no sorting. To do that, edit the Category, set the sorting from Ascending to None.
  15. Scenario:When trying to connect to JasperReports Server through studio, the following error is displayed instead: [toc]java.lang.NullPointerException at java.security.Provider$ServiceKey.<init>(Provider.java:872) at java.security.Provider$ServiceKey.<init>(Provider.java:865) at java.security.Provider.getService(Provider.java:1039) at sun.security.jca.ProviderList.getService(ProviderList.java:332) at sun.security.jca.GetInstance.getInstance(GetInstance.java:157) at java.security.Security.getImpl(Security.java:695) at java.security.KeyStore.getInstance(KeyStore.java:848) at com.jaspersoft.studio.server.protocol.restv2.CertChainValidator.getDefaultKeyStore(CertChainValidator.java:88) at com.jaspersoft.studio.server.protocol.restv2.RestV2ConnectionJersey.connect(RestV2ConnectionJersey.java:147) at com.jaspersoft.studio.server.protocol.ProxyConnection.connect(ProxyConnection.java:102) at com.jaspersoft.studio.server.WSClientHelper.connect(WSClientHelper.java:76) at com.jaspersoft.studio.server.WSClientHelper.connectGetData(WSClientHelper.java:115) at com.jaspersoft.studio.server.ServerProvider.listServer(ServerProvider.java:406) at com.jaspersoft.studio.server.ServerProvider.access$0(ServerProvider.java:402) at com.jaspersoft.studio.server.ServerProvider$1.run(ServerProvider.java:357) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)[/code]How to overcome this problem? Solution:If the stack trace is like this, the most important part here for us is java.security.KeyStore.getInstance(KeyStore.java:848) and it indicates that JasperSoft Studio was not able to open the default keystore. This can happen because your global java settings are pointing to system keystore location instead. If you do java -version in the command line and see the following: Picked up JAVA_TOOL_OPTIONS: -Djavax.net.ssl.trustStoreType=Windows-ROOT This means that the system JVM is using the Windows certificate storage as default. This doesn't work for JasperSoft Studio. To avoid this problem add the the following line to {JSS Installation dir}/Jaspersoft Studio.ini file right below the -vmargs line: -Djavax.net.ssl.keyStoreType=jks Save and restart studio and then try to connect to JasperReports Server or open the keystore in the Windows->Preferences section.
  16. Scenario:When creating a new Content Resource object in the repository and uploading the file, you get an error that the file type is not supported. However, this file is required for you to be in the repository. How to deal with this? Solution:This is controlled in the javascript /scripts/bower_components/jrs-ui/src/resource.add.files.js in the following section typeToExtMap: { "accessGrantSchema": ["xml"], "css": ["css"], "font": ["ttf"], "img": ["jpg", "jpeg", "gif", "bmp", "png"], "jar": ["jar"], "jrxml": ["jrxml"], "olapMondrianSchema": ["xml"], "prop": ["properties"], "jrtx": ["jrtx"], "xml": ["xml", "agxml"], "config": ["config"], "cer": ["p12", "pfx"], "contentResource": ["docx", "doc", "ppt", "pptx", "xls", "xlsx", "xlsm", "ods", "odt", "odp", "pdf", "rtf", "html", "txt", "csv", "json"], "secureFile": ["*"]},[/code]Add the file extensions to the content reqsource map value similar to how they are already defined. Aftewards, if you're using optimized scripts, you'll need to minify the javascript: https://community.jaspersoft.com/documentation/tibco-jasperreports-server-ultimate-guide/v720/customizing-javascript-files
  17. Scenario:In the report you have a field in a table or a field in detail band that is set to not print repeated values. You want to apply a style to the field. The style only applies to the field as it's first printed but doesn't apply afterwards. How do you fix this? Solution:The style is indeed only applied to the field when it's printed. Since we have set it to not print repeated values, the style won't get applied. You can instead apply the style to the cell object (in case of a table) or put the field inside a frame and apply the style to the frame instead.
  18. Problem:You have a report that has a drill down hyperlink that is passing a lot of values down through the parameter. When you pass a lot of values, you get 400 response from the server. When you pass just a few, it works fine. What could be the issue? Solution:Assuming you are using Tomcat here. This problem can be caused because of the request header size is limited by Tomcat and your request is bigger than that value. It forces Tomcat to cut the request and send it not fully. To solve this: Stop the server Go to {tomcat}/conf/server.xml Now depending on whether you use HTTP or HTTPS we would need to edit the Connector port="8080" and Connector port="8443" blocks. In the definition for these connectors add maxHttpHeaderSize="65536" so they would look something like this: <Connector port="8080" protocol="HTTP/1.1" maxPostSize="16777216" connectionTimeout="20000" redirectPort="8443" maxHttpHeaderSize="65536" />[/code]Then save and restart the server. Try to pass the parameters again.
  19. Scenario:You want to hide the save button from the report viewer in JasperServer so that users cannot re-save the report. How to do that? Solution:to remove the save buttons you can do the following: Edit the /jasperserver-pro/WEB-INF/jsp/modules/viewReport/viewReport.jsp Find the following block: <li class="node"><ul class="list buttonSet"><c:if test="${isPro}"><li class="leaf"><button id="fileOptions" class="button capsule mutton up first" aria-label="<spring:message code="button.save"/>" data-title="true" disabled="true"><span class="wrap"><span class="icon"></span><span class="indicator"></span></span></button></li></c:if><c:if test="${!isPro}"><li class="leaf"><button id="fileOptions" class="button capsule mutton up first" aria-label="<spring:message code="button.save"/> - <spring:message code="feature.pro.only"/>" data-title="true" disabled="true"><span class="wrap"><span class="icon"></span><span class="indicator"></span></span></button></li></c:if><li class="leaf"><button id="export" class="button capsule mutton up last" disabled="disabled" aria-label="<spring:message code="button.export"/>" data-title="true"><span class="wrap"><span class="icon"></span><span class="indicator"></span></span></button></li></ul></li>[/code]Comment out the following: <li class="leaf"><button id="fileOptions" class="button capsule mutton up first" aria-label="<spring:message code="button.save"/>" data-title="true" disabled="true"><span class="wrap"><span class="icon"></span><span class="indicator"></span></span></button></li><li class="leaf"><button id="fileOptions" class="button capsule mutton up first" aria-label="<spring:message code="button.save"/> - <spring:message code="feature.pro.only"/>" data-title="true" disabled="true"><span class="wrap"><span class="icon"></span><span class="indicator"></span></span></button></li>[/code]Save and restart.
  20. Problem:You have upgraded your server to version 7.2 and imported your older repository. After upgrading from an earlier version to version 7.2 to use domain designer it looks broken. Solution:When importing your old repository, you have used the --update flag which updated your default theme. The previous versions of the default theme do not have styles to properly display the new domain designer. To resolve this issue the 7.2.0 default theme needs to be re-imported again with the --update option. The zip file attached to the article contains the default 7.2.0 theme.
  21. Situation:You need to create a chart that uses error bar series type (https://www.highcharts.com/demo/error-bar). How to do that using JasperReports? Solution:See attached sample. The way this is done is using 3 measures in a chart. The cart type is set to be column chart but we won't do the column visualization. One measure for the actual error bar, one measure for low value, one measure for high value. The measure for the error bar is set to value expression 0d (zero value for Double) as we won't get the value from the value expression. In the advanced properties you can see Series property Type set to errorbar to have that visualization. Then there are two properties - low and high - which store the values for the lowest and highest point of the error bar. The values for these properties is set to be taken from other two measures (Use measure value). The other two measures are just basic measures but they are hidden and thus not rendered. They are only used to obtain the values for low and high property of the first measure. highchartserrorbar.jrxml
  22. Scenario:You have a pie chart with a category and a measure. When clicking on the slice you want to drill down into another report that will pass a list of values associated with the slice. For example, you display a chart with number of orders per country. You drilldown to another chart that shows the number of orders for a city. You want to pass a list of cities in that country to the drill down report and display number of orders for each city in the country. How to achieve that? Solution:To achieve this in your report do the following: Create a group and a sort field on the field that you use for category Create a new variable of type string with expression like this: $V{Variable_1}+","+$F{SHIPCITY}[/code]Initial value expression needs to be set to "", reset type: Group, calculation function: highest In your chart create a new measure. Mark it as hidden (small checkbox under measure name). Set the calculation type to Nothing. Set the following value expression: Arrays.asList($V{Variable_1}.substring(1).split(","))[/code]The measure type needs to be set to java.lang.Object. Now in your non-hidden measure go to hyperlink properties. In the properties of the parameter that you pass using the hyperlink select Use Measure Value and there select your hidden measure from the dropdown. Target report needs to have an input control available so the parameters can be passed. Attached are the reports that can be imported into your JasperServer and used with Sample Data source / Sugar CRM
  23. Situation:You designed a pie/donut chart but in the output you sometimes don't see the flyouts for the data labels in the resulting export. How to avoid this problem? Solution:Try to set the plotOptions.pie.dataLabels.connectorPadding property to a higher value. Start at 3 and increase or decrease based on your requirement. To set the property: right click on the chart -> Edit Chart Properties -> Chart formatting tab -> Press Show Advanced Properties and navigate to plotOptions->pie->dataLabels and set the value to connectorPadding
  24. Scenario:You have a chart and the value interval for ticks on it's axis is, for example, 10, you want to set to another value like, for example, 5. How to do that? Solution:This can be achieved by setting the tickInterval property for the required axis. Right click on your chart -> Edit Chart Properties -> Go to Chart Formatting tab -> Advanced Properties. Now in the list of properties expand, depending on which one you need, xAxis or yAxis properties group and set the values for tickInterval property to the desired.
  25. Situation:You have an HTML5 chart with an y-Axis and one of the values on y-Axis is getting truncated like this: This is observed in Chrome specifically. Solution:Right click on the chart -> Edit Chart Properties -> go to Chart Formatting tab -> Press Show advanced properties in the bottom right corner of the panel. In the advanced properties screen expand the Chart group of properties and find marginTop property. Set the value to the property. The value will depend on the font size and scale of the chart and egregiousness of the problem. You can set it to 20 for start and then lower or increase the value.
×
×
  • Create New...