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. To add on Raphael's answer, Fusion charts are considered deprecated and no development will be done on them in the future. We recommend using HTML5 charts if you have an option
  2. Hello Rohit, as Raphael mentioned you don't need a license for community edition of the Studio. You only need a license to create reports with HTML5 charts.
  3. Hello Ann, you should take a look at the full exception in the jasperserver.log file ({JRS WAR}/WEB-INF/logs/jasperserver.log). Also I would suggest using JNDI connection instead of JDBC connection if you're not already using one.
  4. Scenario:You're scheduling a report and specifying a save location in an FTP folder. The saving fails with java.lang.NoSuchMethodError exception. Solution:java.lang.NoSuchMethodError usually happens when you have problems with Java or with classpath. Make sure your Java installation is full and correct and make sure you don't have any extra JARs in your TIBCO JasperReports® Server classpath locations such as tomcat/lib or WEB-INF/lib
  5. Scenario: You are creating a calculated field, you have an expression like this: Then i tried IF( someField1 < 1 AND someField2 > 0, 'yes', IF(someField1> 5 AND someField2 < 4, 'yes', 'no' ) ) When you hit validate, the validation fails, it says the The expression was only partially recognized. What to do in this situation? Solution: AND needs to be all lowercase - andYou need to include table names for the fields. Best way to make sure your field will be recognized is to double click on it in the fields panel while your editor is open. It will add the field with table name directly into your expression.The whole expression needs all to be one line
  6. SituationYou have developed a report with an HTML component. When you try to deploy it to the server you get illegal.parameter.value.error in studio. SolutionT o resolve your issue and allow upload HTML component to the server you need to do the following: 1. Go to {JasperSoft Studio installation folder}/configuration/org.eclipse.osgi 2. Search for htmlcomponent.jar in your file explorer. It can be located in different folders. 3. Copy that JAR file to your TIBCO JasperReports® Server lib folder, for example: {apacheTomcat installation folder}/webapps/jasperserver-pro/WEB-INF/lib 4. Restart JasperReports® Server Please note that while it's possible to use HTML component for your reports, it's a deprecated component.
  7. ScenarioYou're trying to delete a domain but it fails to delete because there are resources referencing this domain. How to delete such a domain? SolutionDelete all ad hoc views and reports that are using this domain as a data source. You can try getting a list of views by removing all items from the display tab in domain designer. This will show you a pop-up of all resources affected by your changes. You'll need to delete all these resources. If you cannot delete the domain even then, go through all your organization temp folders as superuser and delete all the contents from these folders. The resources you're looking to delete are aru*, adv* and sl*.
  8. ScenarioYou've exported the repository in one server and want to import it to another server. During the import process you get an error report.options.exception.label.already.exists. What to do? SolutionThis problem happens when your repository has saved different report options (input control values) under the same label. This was possible at some point but was disabled in the newer releases due to this exact problem. If you don't have a lot of report options you can manually check in the server which one is causing the problem and delete or rename it. If you can't find it, try the following: Take a note of the last imported resource. Note what folder it's in. Open the repo archive and navigate to that folder inside the archive.Open .folder.xml. This file lists all the resources that are to be imported and the order they are imported in.Find the resource that was last imported during the step 1. Check out the next resource. Note it's IDFind the resouce inside the folder with the same IDExtract the XML definition, edit it and change the <label> value and zip it back into the archiveAlternatively just remove the resource entry from the .folder.xml file and re-create it later.Try until you don't get the error anymore
  9. Situation:You're trying to create a Report Book. You have the book report created, and now trying to pull in the reports for the book itself. Studio tells you that you need a .jasper file. How to create or where to get that? The reports that you want to include already exist, were created with Studio, and are published to the server. Solution:The .jasper file is a compiled version of jrxml file. To get a jasper file, open the report in studio and press Compile Report button which is to the left of Dataset and Query button. This will generate the .jasper file in your workspace and you can point to it in the book. You can right click at content in outline, press Add new book part, press Select a report file, use Workspace, press Browse and just point it to a JRXML. It'll put .jasper in the expression, that jasper file will be generated when you preview the book. When uploading a book though, studio will upload the JRXML files as book resources. If you want to use reports from the server as parts of the book, you'll need to upload them as JRXML files and not as report units.
  10. Situation:You have developed an HTML5 chart with a category label expression. After deploying the report to the TIBCO JasperReports® Server through TIBCO JasperSoft® Studio the category label expression does not appear. What to do? Solution:This may be related to a bug that was fixed in newer versions. If you encounter this problem, try to upload the report using the JasperReports® Server UI instead. In JasperReports Server, edit the report.In first Set Up tab upload a local JRXML file. Point it to the the source code of your reportSave and run the report
  11. Situation:You are creating a pie chart and you're using a measure that has both negative and positive values in the aggregation. When the engine tries to render such a chart it is displayed incorrectly and one of the slices is displayed outside of the main pie chart circle. What to do in this situation? Solution:Pie charts logically cannot display a measure with both negative and positive totals. You will need to convert the negative value into the positive one. You can do it with the following measure expression: IF ($F{Field1}>0?$F{Field1}:-$F{Field1})You can also convert the negative values at some other stage of the report development like in the query or in a variable.
  12. Scenario:You're developing a column chart and want to change the distance between the columns or column groups. How to achieve that? Solution:To control the distance between the columns you'll need to use plotOptions.column.pointPadding property in the Advanced Formatting section. This determines the distance between each column in X Axis units. To control the distance between the groups of columns you need to use use plotOptions.column.groupPadding. The value for this property is also X Axis units. To control the position of the column and creation of the padding, use the plotOptions.column.pointPlacement property. According to the HighCharts API (https://api.highcharts.com/highcharts/plotOptions.column.pointPlacement) the value for the property can be "on", "between" or a number. In a column chart, when pointPlacement is "on", the point will not create any padding of the X axis. If the pointPlacement is "between", the columns will be laid out between ticks. The point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding. The same works for Bar Charts as well.
  13. Scenario:You have a non-time series chart and you want to format your xAxis and yAxis labels to display date in a different format. However, you cannot use xAxis.dateTimeLabelFormats because it's not a time series chart. How to achieve that? Solution:You have two approaches here. Use HighCharts.dateFormat internal function to format date. You can invoke that function in formatter function for xAxis or yAxis. For example: <hc:chartProperty name="yAxis.labels.formatter" value="function () {return Highcharts.dateFormat('%d-%m-%Y %H:%M', this.value); }"/><hc:chartProperty name="xAxis.labels.formatter" value="function () {return Highcharts.dateFormat('%d-%m-%Y %H:%M', this.value); }"/>[/code]Here we have two formatter functions for both axes. The HighCharts.dateFormat requires you to pass first the actual date format and then the value you want to format. In this case it's this.value. You can format not only dates like that but also numbers (turn miliseconds into timestamp). To use this approach you'll first need to set the function property to true either in TIBCO JasperSoft® Studio (Preferences -> Jaspersoft Studio -> Properties) or jasperreports.properties file of TIBCO JasperReports® Server: com.jaspersoft.jasperreports.highcharts.function.properties.allowed=true[/code]Go to Chart -> Chart properties -> Chart data -> Configuration -> Select the category with the date object -> go to Bucket properties tab -> add a new property "pattern" with value of your date pattern like "MM/dd/yyyy - HH:mm".
  14. Scenario:You're designing a tree map with drill down capability. When you're drilling down to see more info about the category, sometimes you see labels from other categories creeping over. How to avoid this? Solution:This is most likely caused by HighCharts issue: Depending on the JasperReports version it may be still unfixed there. A workaround is to set the plotOptions.treemap.dataLabels.overflow chart property to none. You can do that through Edit chart Properties -> Chart Formatting -> Show Advanced Properties.
  15. Scenario:You need to set custom categories in an HTML5 line chart for xAxis or yAxis. How to do that? Solution:When using the yAxis categories, you will need to pass a Java array as a property value. As in: new String[]{"A", "B", "C", "D", "E"} So in your source, it should look like this: <hc:chartProperty name="yAxis.categories"> <hc:propertyExpression> <![CDATA[new String[]{"A", "B", "C", "D", "E"}]]> </hc:propertyExpression></hc:chartProperty>[/code]
  16. Scenario:When designing a column chart you need to un-group the columns and display them one over another. How to do that? Solution:In the advanced formatting properties of the chart set plotOptions.column.grouping to false and then you can use pointPadding and pointPlacement properties for individual measures to place them or make one column wider than another. You can specify pointPadding and pointPlacement in the advanced measure properties (double click on measure -> advanced properties -> contributor set to SeriesProperty) See attachment for an example
  17. Scenario:You're designing a spider chart and want to add custom formatting. In the plotOptions section there is no Spider category. How to do customization in this case? Solution:Spider chart uses the properties from the Line category. So, for example, if you need to add data labels, you'll have to use plotOptions.line.dataLabels.enabled.
  18. Scenario:You have designed an ad hoc pie chart and added data labels. Then you created a dashboard and added the chart to the dashboard and resized the dashlet with the chart. The data labels got out of bounds or are not visible. Solution:Dashlet, when resizing, does not take into account the data labels and does not attempt to preserve them. To avoid this problem we can add margins on the left and the right side of the chart using two other properties: chart.marginLeft and chart.marginRight. To set these properties, go to ad hoc editor, click on the cogs menu, go to Advanced section and add these two properties. You can set their value to 100, for example. Now save and re-run dashboard. The margin is preserved when resizing and therefore the datalabels are still displayed.
  19. HTML5 Charts can have dynamic properties defined on their buckets and measures that are evaluated at chart runtime. The propeties can be defined on category and series level (bucket level properties) and measures. Measure properties values can be applied to series properties, items within the series properties and hyperlinks. Bucket propertiesBucket properties can be defined on category and series levels. You can do that by editing the series or category and switching to the Bucket Properties. You can create a property that would be applied to the series itself or define any arbitrary property that you want to be later passed to measure properties. For example you can define property "color" or "highlight." The property expression will be evaluated when series expression is evaluated. It's similar to how crosstabs work. Measure propertiesMeasure properties can be defined on measure level. You can do that by editing the measure and switching to Advanced Properties tab. Advanced properties values can be defined for three contributors: SeriesItemHyperlink - used for drill-down and hyperlinks (see TIBCO Jaspersoft® Studio User Guide, chapter 16.7.3, for more)SeriesItemProperty - used for properties of items within the series. For example you want to explode all splices of the pie chart, then you need to use this contributorSeriesProperty - used for the series as a whole. For example, you change color, type or data labels.Property name field defines which property is altered. You can get a list of properties here: https://api.highcharts.com/highcharts/ - select plotOptions or series properties. These are the ones we can change. You can just input the property name such as "color" or "type" or "sliced." You can access the lower level properties using dot: "dataLabels.enabled" The value of the property can come from four sources: Use Constant value - this is just hardcoded value. Enter something that will make sense for the property you're changing like "true" or "5"Use Bucket value - this comes from the bucket properties and levels we defined in Category or SeriesUse Measre value - you can use the measure value (for example value of another measure or current measure)Use Expression - you can define an expression that will be evaluated when the measure is evaluated. Here you can use parameters, variables and all sorts of TIBCO JasperReports® objectsCheck out the attached report that demonstrates how to use category and measure level properties.
  20. Situation:You want to display a certain number of categories and combine rest into OTHER category in a chart. How to do that? Solution:It can be achieved by creating a group in the report on the field that is your category. Then create a new variable, set the class to java.lang.Number, calculation type to Distinct Count, reset type to Group you've just created and expression of the category field. Then in the category expression of the chart have something like: $V{variable_1}<{NUMBER OF CATEGORIES YOU WANT TO DISPLAY}?$F{MyField}:"Other"
  21. Situation:In ad hoc you want to create a pie chart or other type of chart that displays Top N values similar to crosstab. How to do that? Solution:There is a way to do Top N Values and show rest as Other in crosstab in ad hoc but it's a little bit tricky. Create a new ad hoc view, make it a crosstab Add rows, columns and measure Right click on one of the column headings in crosstab that are in "Measures" category Press Filter Top N Values. Input N. Now change the type from Crosstab to Chart In Chart data level (filter section) select lowest possible data leåvel for Columns Change the chart type to Pie It should also order slices from biggest to smallest and then append Other.
  22. Situation:You have an ad hoc report with a title. You want to change how the title is displayed (color, font, alignment, etc.) Solution:To change the report title in Ad Hoc report you need to do the following: In TIBCO Jaspersoft® Studio connect to the TIBCO JasperReports® Server repository, go to /public/templates, open Actual Size template in editor Edit styles ChartReportTitle, ChartTitle, TableTitleTextStyle, CrosstabTitleTextStyle In Appearance tab set Forecolor to the one you want. Save report as, save it under some name you want. Right click on the saved report in the project explorer and press Export Files To and save it somewhere on your hard drive Go to JasperReports® Server web UI and go to /public/templates folder. Create -> File -> JRXML. Upload the file file from step 5. When saving view and creating report in Ad Hoc editor, in the save location dialog select Save Report With Custom Template and point to your template.
  23. Situation:You have a number of ad hoc views in the server that are charts. You want to change values of some properties in these views but using only REST without going to the view and editing it. How to do that. Solution:1. get the ad hoc's stateXML file GET http://<host>/jasperserver-pro/rest_v2/resources/path/to/adhoc/{adhocViewName}_files/stateXML 2. Modify this state XML. The modification needs to be done here: <intelligentChartState XAxisRotation="-45" XAxisStep="1" YAxisRotation="0" YAxisStep="1" alignment="bottom" autoScaleFonts="true" color1Stop="0.1" color2Stop="0.5" color3Stop="0.9" decimalPoint="." donnutInnerSize="40" gaugesMaxValue="200.0" gaugesMinValue="0.0" invertedAxis="false" labelOffset="0.0" legend="bottom" legendBorder="true" rotateAllLevels="false" rotation="0.0" showDataPoints="true" showLabels="false" showMeasureOnValueAxis="true" showScatterLine="false" showSingleMeasuresLabels="true" showXAxisLabels="true" showYAxisLabels="true" singleAxisComboChart="false" thousandSeparator="None" typeString="multi_axis_column" /> Remove the / in the end so the tag isn't closed, append your advanced properties together with closing tag </intelligentChartState> 3. Upload the modified file. PUT http://<host>/jasperserver-pro/rest_v2/resources/path/to/adhoc/{adhocViewName}_files/stateXML Content-Description: whatever Content-Disposition: attachment; filename=state.xml Content-Type: application/xml Body: full content of stateXML file Alternatively you can do Content-Type: multipart/form-data and attach state.xml to the request
  24. Situation:I have a list of values that is no problem to populate. How do I get a blank value. The field in the database can be blank or one of the values in the selection. How do I get the blank in the list? Solution:the input control query should pickup the NULL values which will be displayed in the input control as [Null] value. The empty string values are shown as empty string. select distinct * from public."test"[/code]the values in the input control come from the query result set. If your query does not return a blank value or a null value in it's result set then it won't work. If you don't have blank value in result set you may want to add a union statement that selects blank value like this as test: select distinct test from public."test" union select '' [/code]
  25. Situation:You want to remove the option for the user to click "All None Inverse" buttons on the input control. Solution:this can be achieved using themes without touching the sources. If you use a custom theme, add this to the overrides_customs.css: .jr-mMultiselect-buttonContainer.jr { display: none; }If not, download the default theme (right click on the Default theme -> download theme), edit the overrides_customs.css and add this segment: .jr-mMultiselect-buttonContainer.jr { display: none; }Save, upload the zip with the new theme under different name (Right click on themes folder -> upload theme) Set that new theme as a Active (right click -> set as active).
×
×
  • Create New...