1

I am trying to display Pie chart plot with Dataset but plot never shows up.

I get data from URL:

{"Data": [ { "x":1, "y":1 }, 
           { "x":2, "y":2 },
           { "x":3, "y":1 } ],
"PieData": [ { "label":"Test 1", "val":25},
             { "label":"Test 2", "val":50 },
             { "label":"Test 3", "val":25 } ] 
}

I create dataset out of this:

enter image description here

This dataset is working (I do test for it):

enter image description here

After it I add Pie chart.

enter image description here

This is file generated from Jaspersoft Studio:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.14.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="plot_test" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="dda2f154-3932-4aae-954c-a8d4c2eb1221">
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="PLOTDataAdapter.xml"/>
    <property name="net.sf.jasperreports.chart.pie.ignore.duplicated.key" value="true"/>
    <subDataset name="DatasetPieChart" uuid="270d44e8-b17b-4da2-b066-80c1d1d1d836">
        <property name="com.jaspersoft.studio.data.defaultdataadapter" value="PLOTDataAdapter.xml"/>
        <parameter name="JSON_INPUT_STREAM" class="java.io.InputStream" isForPrompting="false"/>
        <parameter name="net.sf.jasperreports.json.source" class="java.lang.String" isForPrompting="false"/>
        <parameter name="net.sf.jasperreports.json.sources" class="java.util.List" isForPrompting="false"/>
        <parameter name="net.sf.jasperreports.json.date.pattern" class="java.lang.String" isForPrompting="false"/>
        <parameter name="net.sf.jasperreports.json.number.pattern" class="java.lang.String" isForPrompting="false"/>
        <parameter name="JSON_LOCALE" class="java.util.Locale" isForPrompting="false"/>
        <parameter name="net.sf.jasperreports.json.locale.code" class="java.lang.String" isForPrompting="false"/>
        <parameter name="JSON_TIME_ZONE" class="java.util.TimeZone" isForPrompting="false"/>
        <parameter name="net.sf.jasperreports.json.timezone.id" class="java.lang.String" isForPrompting="false"/>
        <queryString language="JSON">
            <![CDATA[PieData]]>
        </queryString>
        <field name="label" class="java.lang.String">
            <property name="net.sf.jasperreports.jsonql.field.expression" value="label"/>
            <fieldDescription><![CDATA[label]]></fieldDescription>
        </field>
        <field name="val" class="java.lang.Integer">
            <property name="net.sf.jasperreports.jsonql.field.expression" value="val"/>
            <fieldDescription><![CDATA[val]]></fieldDescription>
        </field>
        <group name="label">
            <groupExpression><![CDATA[$F{label}]]></groupExpression>
        </group>
        <group name="val">
            <groupExpression><![CDATA[$F{val}]]></groupExpression>
        </group>
    </subDataset>
    <parameter name="JSON_INPUT_STREAM" class="java.io.InputStream" isForPrompting="false"/>
    <parameter name="net.sf.jasperreports.json.source" class="java.lang.String" isForPrompting="false"/>
    <parameter name="net.sf.jasperreports.json.sources" class="java.util.List" isForPrompting="false"/>
    <parameter name="net.sf.jasperreports.json.date.pattern" class="java.lang.String" isForPrompting="false"/>
    <parameter name="net.sf.jasperreports.json.number.pattern" class="java.lang.String" isForPrompting="false"/>
    <parameter name="JSON_LOCALE" class="java.util.Locale" isForPrompting="false"/>
    <parameter name="net.sf.jasperreports.json.locale.code" class="java.lang.String" isForPrompting="false"/>
    <parameter name="JSON_TIME_ZONE" class="java.util.TimeZone" isForPrompting="false"/>
    <parameter name="net.sf.jasperreports.json.timezone.id" class="java.lang.String" isForPrompting="false"/>
    <queryString language="JSON">
        <![CDATA[PieData]]>
    </queryString>
    <field name="label" class="java.lang.String">
        <property name="net.sf.jasperreports.json.field.expression" value="label"/>
        <fieldDescription><![CDATA[label]]></fieldDescription>
    </field>
    <field name="val" class="java.lang.Integer">
        <property name="net.sf.jasperreports.json.field.expression" value="val"/>
        <fieldDescription><![CDATA[val]]></fieldDescription>
    </field>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="299" splitType="Stretch">
            <pieChart>
                <chart evaluationTime="Report">
                    <reportElement x="40" y="10" width="200" height="200" uuid="8b79198a-e961-43fe-9025-79dfd644a086"/>
                    <chartTitle/>
                    <chartSubtitle/>
                    <chartLegend/>
                </chart>
                <pieDataset>
                    <dataset resetType="Report">
                        <datasetRun subDataset="DatasetPieChart" uuid="6e4b0373-6f63-40cc-a3ce-da215a6468bb">
                            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                        </datasetRun>
                    </dataset>
                    <keyExpression><![CDATA["BLA"]]></keyExpression>
                    <valueExpression><![CDATA[$F{val}]]></valueExpression>
                    <labelExpression><![CDATA[$F{label}]]></labelExpression>
                </pieDataset>
                <piePlot>
                    <plot/>
                    <itemLabel/>
                </piePlot>
            </pieChart>
        </band>
    </title>
</jasperReport>

And the preview doesn't generates anything. What am I missing in the process?

BR!

Alex K
  • 22,315
  • 19
  • 108
  • 236
user505160
  • 1,176
  • 8
  • 25
  • 44
  • Thank you for helping out! I have changed it to $F{label} .. and value... and all possible options. Nothing helps. – user505160 Oct 26 '20 at 20:40
  • Sorry I couldn't help; please edit your question to reflect your modified approach. – trashgod Oct 30 '20 at 15:52
  • In particular, a now deleted comment suggests that you are using [tag:jaspersoft-studio]. you may want to restore the deleted tag. – trashgod Oct 30 '20 at 21:57

0 Answers0