valores una total sumar reports report_count pages jasper columnas columna jasper-reports ireport

jasper-reports - total - sumar valores de una columna en ireport



¿Cómo sumar todos los valores en una columna en Jaspersoft iReport Designer? (2)

Es bastante fácil resolver tu tarea. Debería crear y usar una nueva variable para sumar los valores de la columna "Pago médico" .

En su caso la variable puede ser declarada así:

<variable name="total" class="java.lang.Integer" calculation="Sum"> <variableExpression><![CDATA[$F{payment}]]></variableExpression> </variable>

  • el tipo de cálculo es Suma ;
  • el tipo de reinicio es Informe ;
  • la expresión Variable es $ F {pago} , donde $ F {pago} es el nombre de un campo que contiene la suma ( Pago por médico ).

El ejemplo de trabajo.

Fuente de datos CSV:

doctor_id,payment A1,123 B1,223 C2,234 D3,678 D1,343

La plantilla:

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

El resultado será:

Puedes encontrar mucha información en la Guía de JasperReports Ultimate .

Tengo un informe similar en Jaspersoft iReport Designer, pero no puedo averiguar cómo sumar todos los valores presentes en la columna vertical "Doctor Payment" para obtener un total de "1601". La longitud de estas columnas es variable (es decir, ninguna de las filas varía según el tamaño de la base de datos y su frecuencia de actualización).

¿Hay alguna variable como $V{COLUMN_COUNT} (en realidad no da filas, aquí 5), que da la suma de todos los valores en una columna? Si no, ¿cómo hacer la suma ?

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


iReporta campos personalizados para columnas (suma, promedio, etc.)

  1. Haga clic derecho sobre las variables y haga clic en Crear variable

  2. Haga clic en la nueva variable

    a. Observe las propiedades a la derecha.

  3. Renombra la variable en consecuencia

  4. Cambie el nombre de la clase de valor al tipo de datos correcto

    a. Puedes buscar haciendo clic en los 3 puntos.

  5. Seleccione el tipo de cálculo correcto

  6. Cambiar la expresion

    a. Haga clic en el pequeño icono

    segundo. Seleccione la columna que está buscando para hacer el cálculo

    do. Haga clic en finalizar

  7. Establecer la expresión de valor inicial a 0

  8. Establecer el tipo de incremento en ninguno

  9. Deje en blanco el Incrementer Factory Class Name
  10. Establecer el tipo de restablecimiento (por lo general informe)

  11. Arrastre un nuevo campo de texto a la etapa (generalmente en el último pie de página o pie de columna)

  12. Haga doble clic en el nuevo campo de texto.
  13. Borrar la expresión "Campo de texto"
  14. Seleccione la nueva variable

  15. Haga clic en finalizar

  16. Ponga el nuevo texto en una posición deseable