gpt4 book ai didi

jasper-reports - 如何对Jaspersoft iReport Designer中的列中的所有值求和?

转载 作者:行者123 更新时间:2023-12-03 09:36:02 24 4
gpt4 key购买 nike

我在Jaspersoft iReport Designer中有以下类似的报告,但是无法弄清楚如何对垂直列“Doctor Payment”中存在的所有值求和以获得总计“1601”?此列的长度是可变的(即,行数根据数据库的大小及其更新频率而变化)。

是否有类似$V{COLUMN_COUNT}的变量(实际上没有行,这里为5),
给出列中所有值的总和?如果否,如何做

Doctor ID   Doctor Payment
A1 123
B1 223
C2 234
D3 678
D1 343
Total 1601

最佳答案

解决任务很容易。您应该创建并使用一个新变量来求和“”“医生付款”“”列的值。

在您的情况下,可以这样声明变量:

<variable name="total" class="java.lang.Integer" calculation="Sum">
<variableExpression><![CDATA[$F{payment}]]></variableExpression>
</variable>
  • 计算类型为
  • 重置类型为报告
  • 变量表达式为 $ F {payment} ,其中 $ F {payment} 是包含总和(医生付款)的字段名称。

  • 工作示例。

    CSV数据源:
    doctor_id,paymentA1,123B1,223C2,234D3,678D1,343

    The template:

    <?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>

    结果将是:



    您可以在 JasperReports Ultimate Guide中找到很多信息。

    关于jasper-reports - 如何对Jaspersoft iReport Designer中的列中的所有值求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13550514/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com