Planet Jaspersoft

June 2, 2021

In this video, you will learn the basics of Datasets and Sub datasets in Jaspersoft Design Studio Professional. 

Download the example file from  https://drive.google.com/file/d/1TPpbjYE0-FiBijlPZXFxf9Tjbt2d2vlt/view?usp=sharing



Thank you for watching this video, I hope this helped you a little on understanding the basic of Datasets and Subdatasets in Jaspersoft Design Studio Professional. 

If you enjoyed watching it, please do subscribe, click on bell icon for more interesting topics on Jaspersoft Reports.

Let's help save time for community folks. 

June 2, 2021

June 1, 2021

 Hi, 

In this video, you will learn the basics of Groups and how to calculate sub-totals for each group in a Product Detail Report using Jaspersoft Design Studio Professional.

Download the example file from https://drive.google.com/file/d/1B_SPsPDnalSMMCFCar1z1slkQtIjqXpu/view?usp=sharing



Thank you for watching this video, I hope this helped you a little on understanding the basic of Groups in Jaspersoft Design Studio Professional. 

If you enjoyed watching it, please do subscribe, click on bell icon for more interesting topics on Jaspersoft Reports.

Let's help save time for community folks. 

June 1, 2021

May 31, 2021

Hi, Welcome to the series of Jaspersoft Reports.

In this video, you will learn the basics of variables and how to create and use a variable in Product Detail Report using Jaspersoft Design Studio Professional.

Download the example file from https://drive.google.com/file/d/1B_SPsPDnalSMMCFCar1z1slkQtIjqXpu/view?usp=sharing



Thank you for watching this video, I hope this helped you a little on understanding the basic of variables in Jaspersoft Design Studio Professional. 

If you enjoyed watching it, please do subscribe, click on bell icon for more interesting topics on Jaspersoft Reports.
Let's help save time for community folks. 


May 31, 2021

May 29, 2021

Hi, Welcome to the series of Jaspersoft Reports.

In this video, you will learn the basics of parameter(s) and how to create and use a single select parameter in a Product Detail Report using Jaspersoft Design Studio Professional.

Download the example file from https://drive.google.com/file/d/1B_SPsPDnalSMMCFCar1z1slkQtIjqXpu/view?usp=sharing


Thank you for watching this video, I hope this helped you a little on understanding the basic of parameter and single select parameter usage in Jaspersoft Design Studio Professional. 

If you enjoyed watching it, please do subscribe and click on bell icon for more interesting topics on Jaspersoft Reports. 

May 29, 2021

March 1, 2021

Revisit : Multi Select Parameter Example in Jasper Reports 

Default value expression: 
java.util.Arrays.asList(new String[]{"99993","99962","99949"})  

References: 
https://community.jaspersoft.com/questions/520702/default-select-values-multi-select-prompt

Parameter Properties : 
Server output: 


JRXML 
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.4.21.final using JasperReports Library version 6.4.1 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="MultiSelectParameterDefaultValue" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="0a843e05-bf78-488a-bb0d-44f948a799f6">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
<property name="ireport.jasperserver.user" value="superuser"/>
<property name="ireport.jasperserver.report.resource" value="/EarthlySystems/Multi_Select_Parameter_Demo/Multi_Select_Parameter_Default_Value_files/main_jrxml"/>
<property name="ireport.jasperserver.reportUnit" value="/EarthlySystems/Multi_Select_Parameter_Demo/Multi_Select_Parameter_Default_Value"/>
<parameter name="paramPostalCode" class="java.util.Collection" nestedType="java.lang.String">
<defaultValueExpression><![CDATA[java.util.Arrays.asList(new String[]{"99993","99962","99949"})

]]></defaultValueExpression>
</parameter>
<queryString language="SQL">
<![CDATA[select * from customer where $X{IN, postal_code, paramPostalCode}]]>
</queryString>
<field name="customer_id" class="java.lang.Integer"/>
<field name="account_num" class="java.lang.Long"/>
<field name="lname" class="java.lang.String"/>
<field name="fname" class="java.lang.String"/>
<field name="mi" class="java.lang.String"/>
<field name="address1" class="java.lang.String"/>
<field name="address2" class="java.lang.String"/>
<field name="address3" class="java.lang.String"/>
<field name="address4" class="java.lang.String"/>
<field name="city" class="java.lang.String"/>
<field name="state_province" class="java.lang.String"/>
<field name="postal_code" class="java.lang.String"/>
<field name="country" class="java.lang.String"/>
<field name="customer_region_id" class="java.lang.Integer"/>
<field name="phone1" class="java.lang.String"/>
<field name="phone2" class="java.lang.String"/>
<field name="birthdate" class="java.sql.Date"/>
<field name="marital_status" class="java.lang.String"/>
<field name="yearly_income" class="java.lang.String"/>
<field name="gender" class="java.lang.String"/>
<field name="total_children" class="java.lang.Integer"/>
<field name="num_children_at_home" class="java.lang.Integer"/>
<field name="education" class="java.lang.String"/>
<field name="date_accnt_opened" class="java.sql.Date"/>
<field name="member_card" class="java.lang.String"/>
<field name="occupation" class="java.lang.String"/>
<field name="houseowner" class="java.lang.String"/>
<field name="num_cars_owned" class="java.lang.Integer"/>
<field name="fullname" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="36" splitType="Stretch">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="555" height="36" backcolor="#ECE0FF" uuid="f4bc67c0-499c-48cd-af15-6703eb08f358">
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
</reportElement>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Customer Detail Report By Postal Code"]]></textFieldExpression>
</textField>
</band>
</title>
<columnHeader>
<band height="30" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="81" height="30" uuid="950cfd64-6561-445f-aa06-df9d92402d33"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[customer_id]]></text>
</staticText>
<staticText>
<reportElement x="81" y="0" width="79" height="30" uuid="60014d13-d4e3-49e1-85f7-cec9b3860db2"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[account_num]]></text>
</staticText>
<staticText>
<reportElement x="160" y="0" width="79" height="30" uuid="8298d207-c566-4c62-96af-7c5ec3438111"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[lname]]></text>
</staticText>
<staticText>
<reportElement x="239" y="0" width="79" height="30" uuid="1f425d7f-2817-4cda-b688-42c48dc72ee5"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[city]]></text>
</staticText>
<staticText>
<reportElement x="318" y="0" width="79" height="30" uuid="cc44460f-c5ea-4c7f-b24c-9f1313ffaa13"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[state_province]]></text>
</staticText>
<staticText>
<reportElement x="397" y="0" width="79" height="30" uuid="2f6d5fe4-8130-40c5-8f65-e3845b818625"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[postal_code]]></text>
</staticText>
<staticText>
<reportElement x="476" y="0" width="79" height="30" uuid="3381d500-9086-431c-9678-cef469425d11"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[country]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="30" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="81" height="30" uuid="d9d71552-8c5d-4f5f-adc5-f688e7d1b26e">
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
</reportElement>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{customer_id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="81" y="0" width="79" height="30" uuid="5bc3525d-9b53-479e-bc3f-b6f78898c4a0"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{account_num}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="160" y="0" width="79" height="30" uuid="8f4c3632-b891-470f-8c6b-e7ad7d7b45d5"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{lname}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="239" y="0" width="79" height="30" uuid="e288ef3a-54ad-4832-99c6-d5cdcea3c8cb"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{city}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="318" y="0" width="79" height="30" uuid="ec922197-b510-4504-ac83-39bb76c4c252"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{state_province}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="397" y="0" width="79" height="30" uuid="6ed97799-b8d8-4398-9714-475844cc536f"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{postal_code}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="476" y="0" width="79" height="30" uuid="4f6b9312-5caf-4b7a-8596-5a6891ce97f1"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{country}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

March 1, 2021

February 4, 2021

 Fusion Chart 

Chart title properties

{ "chart": { "captionFont": "Arial", "captionFontSize": "18", "captionFontColor": "#993300", "captionFontBold": "1" }}

https://www.fusioncharts.com/dev/chart-guide/chart-configurations/caption-and-sub-caption

Legend properties

{ "chart": { "legendItemFontBold": "0", "legendItemFont": "Arial", "legendItemFontSize": "11", "legendItemFontColor": "#666666" }}


https://www.fusioncharts.com/dev/chart-guide/chart-configurations/legend

February 4, 2021

November 29, 2020

Problem statement:
Display Base64 database field as an image in  Jasper Reports. 

As on writing this page , test results showed me that byte[] data type is supported in studio to display image but not in server and eventually ended up with byte[] unsupported errors messages on jasper console.  

Software's used: 
Studio professional 7.8, "PostgreSQL 9.3.20, compiled by Visual C++ build 1600, 64-bit"

Studio design:

Output in Studio: 


SQL for creating a sample table containing Base64 image data. 

CREATE TABLE public.base64image (
id serial PRIMARY KEY,
image_base64 varchar(5000000) NULL
);
INSERT INTO base64image
(id,image_base64)
VALUES(1, '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');
select * from base64image where id=1

Design Steps: 
1. Drag and drop image component from Palette. 
2. In the properties, open Expression Editor on Image tab and write below expression. 

net.sf.jasperreports.engine.util.JRImageLoader.getInstance(new SimpleJasperReportsContext()).loadAwtImageFromBytes(Base64.getDecoder().decode($F{image_base64}))

3. Save the report and Preview in Studio or Publish and run the report in JasperServer. 


JRXML: Works in 7.8 Pro Studio or later
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.4.21.final using JasperReports Library version 6.4.1 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Base64ImageSadakar" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="35e03267-2cbe-4840-a4ed-41342e5a701c">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
<property name="ireport.jasperserver.user" value="superuser"/>
<property name="ireport.jasperserver.reportUnit" value="/Explore/Base64ImageSadakar"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1" value="420"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2" value="566"/>
<property name="ireport.jasperserver.report.resource" value="/Explore/Base64ImageSadakar_files/main_jrxml"/>
<queryString language="SQL">
<![CDATA[select * from base64image where id=1]]>
</queryString>
<field name="id" class="java.lang.Integer"/>
<field name="image_base64" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<summary>
<band height="288">
<image scaleImage="FillFrame" isUsingCache="false" evaluationTime="Report">
<reportElement x="0" y="0" width="230" height="250" uuid="66f3d413-a9e1-4510-986b-7b66e323355a"/>
<box>
<pen lineColor="#BBBFBD"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
</box>
<graphicElement fill="Solid"/>
<imageExpression><![CDATA[net.sf.jasperreports.engine.util.JRImageLoader.getInstance(new SimpleJasperReportsContext()).loadAwtImageFromBytes(Base64.getDecoder().decode($F{image_base64}))]]></imageExpression>
</image>
</band>
</summary>
</jasperReport>

References: 

Get Base64 encoding @ https://base64.guru/converter/encode/image


November 29, 2020

November 23, 2020

 In this post, you would learn how to implement a ArcGuage with value displayed with percentage (%) using Fusion Widget Pro - Angular Gauge chart. 

Problem Statement : 
Convert fusion widget "Angular Gauge" chart as "Arc Gauge" with percentage(%) value displayed OR say ArcGauge with progress from 1 to 100%. 

NOTE : Tap on to the images to get the original view of screenshots taken. 

Report Design:

Sample output


Key Implementations: 
1) Max and min values : 1 to 100 
    Once the color ranges applied the graph auto takes the range from 1 to 100 scale 
     


2) Remove Dial & Pointer 
Pointer : Give everything white colored as below to get rid of circular pointer
Dial: Give properties as shown below to get rid of Dial , Navigation : Widget Date > Anular Dials

3) Show Value ,  Font Size , Percentage Symbol 
Show value:  In the advaned properties add showValue=true (although you would have checkbox in the widget general properites. 
Font Size: As shown in below image , navigate to "Widget Configuration" > Common Options > Apply the size and color for value to be displayed as percentage


Percentage Symbol: 
In the advanced properties give numberSuffix="%"

All Advanced properties: 



JRXML : Developed using 7.8.0 professional version of Studio, it should work in same or higher versions. 

<?xml version="1.0" encoding="UTF-8"?>

<!-- Created with Jaspersoft Studio version 7.8.0.final using JasperReports Library version 6.14.0-2ab0d8625be255bf609c78e1181801213e51db8f -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Angular Gauge Fusion Widget New" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="dcd1c309-22a0-4406-a92a-fcadefb6187c">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
<property name="ireport.jasperserver.user" value="superuser"/>
<property name="ireport.jasperserver.report.resource" value="/EarthlySystemsReports/Test/Angular_Gauge_Fusion_Widget_New_files/main_jrxml"/>
<property name="ireport.jasperserver.reportUnit" value="/EarthlySystemsReports/Test/Angular_Gauge_Fusion_Widget_New"/>
<queryString language="SQL">
<![CDATA[select 75 as value from customer limit 1]]>
</queryString>
<field name="value" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="value"/>
<property name="com.jaspersoft.studio.field.label" value="value"/>
</field>
<background>
<band splitType="Stretch"/>
</background>
<summary>
<band height="320" splitType="Stretch">
<componentElement>
<reportElement x="0" y="50" width="268" height="270" uuid="88e7e1c6-5a3a-4830-849e-3b4632885f18"/>
<fw:angularGauge xmlns:fw="http://jaspersoft.com/fusion" xsi:schemaLocation="http://jaspersoft.com/fusion http://jaspersoft.com/schema/fusion.xsd">
<dataset resetType="Report"/>
<fw:dial>
<fw:valueExpression><![CDATA[$F{value}]]></fw:valueExpression>
</fw:dial>
</fw:angularGauge>
</componentElement>
<componentElement>
<reportElement x="290" y="50" width="268" height="270" uuid="8c9b13f3-f9ed-4c98-8962-d9583baac1dd"/>
<fw:angularGauge xmlns:fw="http://jaspersoft.com/fusion" xsi:schemaLocation="http://jaspersoft.com/fusion http://jaspersoft.com/schema/fusion.xsd">
<fw:widgetProperty name="showShadow">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="setAdaptiveMin">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showTickMarks">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showLimits">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showTickValues">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotFillColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotBorderColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showGaugeBorder">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotFillAlpha">
<fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotFillAngle">
<fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotBorderAlpha">
<fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="gaugeBorderColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="animation">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="borderColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="baseFontSize">
<fw:propertyExpression><![CDATA[new Integer(35)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="baseFont">
<fw:propertyExpression><![CDATA["Arial Black"]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="baseFontColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-16777216)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="bgColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showValue">
<fw:propertyExpression><![CDATA[true]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="numberSuffix">
<fw:propertyExpression><![CDATA["%"]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="gaugeInnerRadius">
<fw:propertyExpression><![CDATA[90]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="gaugeBorderAlpha">
<fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="paletteThemeColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:colorRange color="#8CBD2A">
<fw:minValueExpression><![CDATA[new Integer(0)]]></fw:minValueExpression>
<fw:maxValueExpression><![CDATA[$F{value}]]></fw:maxValueExpression>
<fw:labelExpression><![CDATA["green"]]></fw:labelExpression>
</fw:colorRange>
<fw:colorRange color="#E6E6E6">
<fw:minValueExpression><![CDATA[$F{value}]]></fw:minValueExpression>
<fw:maxValueExpression><![CDATA[new Integer(100)]]></fw:maxValueExpression>
<fw:labelExpression><![CDATA["ash"]]></fw:labelExpression>
</fw:colorRange>
<dataset resetType="Report"/>
<fw:dial>
<fw:dialProperty name="borderColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:dialProperty>
<fw:dialProperty name="bgColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:dialProperty>
<fw:valueExpression><![CDATA[$F{value}]]></fw:valueExpression>
</fw:dial>
</fw:angularGauge>
</componentElement>
<textField>
<reportElement x="0" y="10" width="270" height="30" uuid="086f3b75-085a-4088-9c29-5a0f7837ccc8"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Default Angular Gauge"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="290" y="10" width="270" height="30" uuid="3db4bc99-9491-4f9e-b23e-5fcfb90038ac"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Angular Gauge As Progress Guage"]]></textFieldExpression>
</textField>
</band>
</summary>
</jasperReport>

November 23, 2020

November 21, 2020

Hi, 
In this post, you would lean how to implement "ArcGuage" HTML-5 chart in jasper reports. 

1.  Drag and Drop "ArcGauge" from HTML-5 charts. 
2. Configure query value or modify existing value for "Measure". 
3. Apply advanced properties for the chart. 

Example Developed on :
7.8 TIBCO Jaspersoft Studio Professional and expect to work on same on higher versions. 
7.8 Enterprise JasperReports Server

Design: 


Output: 


Key implementations: (or Advanced Properties Applied on ArcGuage chart)

1. Format -->75%

plotOptions.solidgauge.dataLabels.format = "{point.y}%"  (Use Expression)



2. fontSize --> 20px
plotOptions.solidgauge.dataLabels.fontSize=20px (with out expression checked)


3.Datalabel.y --> 10
plotOptions.solidgauge.dataLabels.y=10 (with expression checked)


JRXML:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 7.8.0.final using JasperReports Library version 6.14.0-2ab0d8625be255bf609c78e1181801213e51db8f -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="GuagueCharts" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f27937b3-0ad1-4a1e-a658-f3719eeec5fa">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
<property name="ireport.jasperserver.user" value="superuser"/>
<property name="ireport.jasperserver.report.resource" value="/EarthlySystemsReports/GuagueCharts_files/main_jrxml"/>
<property name="ireport.jasperserver.reportUnit" value="/EarthlySystemsReports/GuagueCharts"/>
<queryString language="SQL">
<![CDATA[select 1 as One]]>
</queryString>
<field name="one" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="one"/>
<property name="com.jaspersoft.studio.field.label" value="one"/>
</field>
<title>
<band height="433" splitType="Stretch">
<componentElement>
<reportElement x="360" y="130" width="190" height="190" uuid="903e1a78-2f90-4af9-a8fa-5d005b912bc6"/>
<hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="ArcGauge" evaluationTime="Report">
<hc:chartSetting name="default">
<hc:chartProperty name="title.text" value=""/>
<hc:chartProperty name="credits.enabled" value="false"/>
<hc:chartProperty name="credits.href" value=""/>
<hc:chartProperty name="credits.text" value=""/>
<hc:chartProperty name="yAxis.title.text" value=""/>
<hc:chartProperty name="chart.zoomType" value="xy"/>
<hc:chartProperty name="yAxis.labels.y">
<hc:propertyExpression><![CDATA[-45]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="colors_customSimpleMode" value="true"/>
<hc:chartProperty name="colors">
<hc:propertyExpression><![CDATA[Arrays.asList("#FFBA2C","#434348","#90ed7d","#f7a35c","#8085e9","#f15c80","#e4d354","#2b908f","#f45b5b","#91e8e1")]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="chart.borderRadius_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
<hc:chartProperty name="chart.borderRadius_customSimpleMode" value="true"/>
<hc:chartProperty name="chart.borderRadius">
<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="chart.borderWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
<hc:chartProperty name="chart.borderWidth_customSimpleMode" value="true"/>
<hc:chartProperty name="chart.borderWidth">
<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="chart.plotBorderWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
<hc:chartProperty name="chart.plotBorderWidth_customSimpleMode" value="true"/>
<hc:chartProperty name="chart.plotBorderWidth">
<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="plotOptions.series.lineWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
<hc:chartProperty name="plotOptions.series.lineWidth_customSimpleMode" value="true"/>
<hc:chartProperty name="plotOptions.series.lineWidth">
<hc:propertyExpression><![CDATA[2]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="plotOptions.solidgauge.rounded_customSimpleMode" value="true"/>
<hc:chartProperty name="plotOptions.solidgauge.rounded">
<hc:propertyExpression><![CDATA[true]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="plotOptions.solidgauge.dataLabels.style.fontSize" value="20px"/>
<hc:chartProperty name="plotOptions.solidgauge.dataLabels.y_customSimpleMode" value="true"/>
<hc:chartProperty name="plotOptions.solidgauge.dataLabels.y">
<hc:propertyExpression><![CDATA[10]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="plotOptions.solidgauge.dataLabels.format">
<hc:propertyExpression><![CDATA[" {point.y} % "]]></hc:propertyExpression>
</hc:chartProperty>
</hc:chartSetting>
<multiAxisData>
<multiAxisDataset>
<dataset resetType="Report"/>
</multiAxisDataset>
<dataAxis axis="Rows">
<axisLevel name="Level1">
<labelExpression><![CDATA["Level Label expression"]]></labelExpression>
<axisLevelBucket class="java.lang.Comparable">
<bucketExpression><![CDATA["Change Me"]]></bucketExpression>
</axisLevelBucket>
</axisLevel>
</dataAxis>
<dataAxis axis="Columns"/>
<multiAxisMeasure name="Measure1" class="java.lang.Number" calculation="Nothing">
<labelExpression><![CDATA["!MEASURE LABEL!"]]></labelExpression>
<valueExpression><![CDATA[new Integer(75)]]></valueExpression>
</multiAxisMeasure>
</multiAxisData>
<hc:series name="Measure1"/>
</hc:chart>
</componentElement>
<componentElement>
<reportElement x="20" y="130" width="190" height="190" uuid="4e9d2f6d-3ed7-432f-b03f-692decdd6abf"/>
<hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="ArcGauge" evaluationTime="Report">
<hc:chartSetting name="default">
<hc:chartProperty name="title.text" value=""/>
<hc:chartProperty name="credits.enabled" value="false"/>
<hc:chartProperty name="credits.href" value=""/>
<hc:chartProperty name="credits.text" value=""/>
<hc:chartProperty name="yAxis.title.text" value=""/>
<hc:chartProperty name="chart.zoomType" value="xy"/>
<hc:chartProperty name="com.jaspersoft.studio.highcharts.dataconfiguration.simple" value="true"/>
</hc:chartSetting>
<multiAxisData>
<multiAxisDataset>
<dataset resetType="Report"/>
</multiAxisDataset>
<dataAxis axis="Rows">
<axisLevel name="Level1">
<labelExpression><![CDATA["Level Label expression"]]></labelExpression>
<axisLevelBucket class="java.lang.Comparable">
<bucketExpression><![CDATA["Change Me"]]></bucketExpression>
</axisLevelBucket>
</axisLevel>
</dataAxis>
<multiAxisMeasure name="Measure1" class="java.lang.Number" calculation="Nothing">
<labelExpression><![CDATA["!MEASURE LABEL!"]]></labelExpression>
<valueExpression><![CDATA[new Integer(75)]]></valueExpression>
</multiAxisMeasure>
</multiAxisData>
</hc:chart>
</componentElement>
<textField>
<reportElement x="20" y="25" width="524" height="30" uuid="f7ce943c-5507-4840-b765-50dda242be63"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["ArcGauge Example in Jaspersoft Reports"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="20" y="100" width="190" height="30" uuid="0a91f891-9ee2-40c0-8922-777a80a66441"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["From"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="354" y="100" width="190" height="30" uuid="889ebff8-e786-427d-ac3f-33ae603875b2"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["TO"]]></textFieldExpression>
</textField>
</band>
</title>
</jasperReport>

November 21, 2020

 When you get 6632 error while running a report, most likely below solution works. 

Update security validation property in "security-config.properties"  file @ 

C:\Jaspersoft\jasperreports-server-7.8.0\apache-tomcat\webapps\jasperserver-pro\WEB-INF\classes\esapi

File Name : security-config.properties

Actual :
security.validation.sql.on=false

Update it to false
security.validation.sql.on=true


2020-11-21T19:17:30,322 ERROR AsyncJasperPrintAccessor,pool-7-thread-21:321 - Error during report execution com.jaspersoft.jasperserver.api.JSSecurityException: An error has occurred. Please contact your system administrator. (6632)

Arguments: 

at com.jaspersoft.jasperserver.api.security.validators.Validator.newSecurityException(Validator.java:552)

at com.jaspersoft.jasperserver.api.security.validators.Validator.validateSQL(Validator.java:541)

at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.validateSQL(JRTimezoneJdbcQueryExecuter.java:219)

at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:165)

at com.jaspersoft.commons.util.JSControlledJdbcQueryExecuter.createDatasource(JSControlledJdbcQueryExecuter.java:115)

at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1257)

at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:726)

at net.sf.jasperreports.engine.fill.JRFillDatasetRun.evaluate(JRFillDatasetRun.java:249)

at net.sf.jasperreports.engine.fill.JRFillElementDataset.evaluateDatasetRun(JRFillElementDataset.java:259)

at net.sf.jasperreports.engine.analytics.dataset.FillMultiAxisDataset.evaluateData(FillMultiAxisDataset.java:115)

at net.sf.jasperreports.engine.analytics.dataset.FillMultiAxisData.evaluate(FillMultiAxisData.java:53)

at com.jaspersoft.jasperreports.highcharts.charts.ChartFillComponent.evaluateChart(ChartFillComponent.java:219)

at com.jaspersoft.jasperreports.highcharts.charts.ChartFillComponent.evaluate(ChartFillComponent.java:198)

at net.sf.jasperreports.engine.fill.JRFillComponentElement.evaluate(JRFillComponentElement.java:110)

at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383)

at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFooterSamePage(JRVerticalFiller.java:1252)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1203)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:299)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:117)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:621)

at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:135)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:959)

at net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:181)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:910)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1857)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1162)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1103)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:981)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)


November 21, 2020

Pages

Feedback
randomness