Es ist ziemlich einfach, Ihre Aufgabe zu lösen. Sie sollten eine neue Variable zum Summieren von Werten der "Doctor Payment" Spalte erstellen und verwenden.
In Ihrem Fall kann die Variable wie folgt erklärt werden:
<variable name="total" class="java.lang.Integer" calculation="Sum">
<variableExpression><![CDATA[$F{payment}]]></variableExpression>
</variable>
- die Berechnungsart ist Summe;
- die Rücksetztyp ist Bericht;
- die Variable Ausdruck ist $ F {} Zahlung, wo $ F {} Zahlung der Name eines Feldes enthält sum (Doktor Payment).
Das Arbeitsbeispiel.
CSV-Datenquelle:
doctor_id,payment
A1,123
B1,223
C2,234
D3,678
D1,343
Die Vorlage:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport ...>
<queryString>
<![CDATA[]]>
</queryString>
<field name="doctor_id" class="java.lang.String"/>
<field name="payment" class="java.lang.Integer"/>
<variable name="total" class="java.lang.Integer" calculation="Sum">
<variableExpression><![CDATA[$F{payment}]]></variableExpression>
</variable>
<columnHeader>
<band height="20" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="100" height="20"/>
<box leftPadding="10"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="10" isBold="true" isItalic="true"/>
</textElement>
<text><![CDATA[Doctor ID]]></text>
</staticText>
<staticText>
<reportElement x="100" y="0" width="100" height="20"/>
<box leftPadding="10"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="10" isBold="true" isItalic="true"/>
</textElement>
<text><![CDATA[Doctor Payment]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="20" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="20"/>
<box leftPadding="10"/>
<textElement/>
<textFieldExpression><![CDATA[$F{doctor_id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="0" width="100" height="20"/>
<box leftPadding="10"/>
<textElement/>
<textFieldExpression><![CDATA[$F{payment}]]></textFieldExpression>
</textField>
</band>
</detail>
<summary>
<band height="20">
<staticText>
<reportElement x="0" y="0" width="100" height="20"/>
<box leftPadding="10"/>
<textElement>
<font isBold="true"/>
</textElement>
<text><![CDATA[Total]]></text>
</staticText>
<textField>
<reportElement x="100" y="0" width="100" height="20"/>
<box leftPadding="10"/>
<textElement>
<font isBold="true" isItalic="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{total}]]></textFieldExpression>
</textField>
</band>
</summary>
</jasperReport>
Das Ergebnis wird sein:
Sie können viele Informationen in der JasperReports Ultimate Guide finden.
Ich habe etwas Logik, aber wo ich neue Variable setzen, setze ich am Anfang, dh nach vielen deklariert, aber geben Fehler, dass die Variable nicht gefunden: "total" –
@SagarNikam Haben Sie meine Probe versuchen? –
Ja, Sir mit Ihrem Beispiel funktioniert es, aber ich auf Echtzeit-Daten, arbeiten mit MySQL-Abfrage, gibt es Fehler "Variable nicht gefunden", ich deklariere Variable nach queryString> über, würde ich senden vollständige Datei –