> For the complete documentation index, see [llms.txt](https://avbravo-2.gitbook.io/jmoordbreport/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://avbravo-2.gitbook.io/jmoordbreport/reporte-agrupado.md).

# Reporte Agrupado

Trabajaremos con el entity Modelo de la seccion anterior.

![](/files/-LgIoc6ctlcnYmnHqNU-)

Dar clic en propiedades ![](/files/-Lc1Wqm9ZP-bfGFj0dux)

**Parametros Group:**

| Atributo         | Descripciòn                                                                                                                                                                                                     |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| field            | campo a agrupar                                                                                                                                                                                                 |
| staticTextHeader | Texto de la banda Group Header                                                                                                                                                                                  |
| staticTextFooter | Texto de la banda Group Footer                                                                                                                                                                                  |
| fieldFooter      | Atributo de la banda Footer                                                                                                                                                                                     |
| operation        | se utilizan los valores "Nothing", "Sum", "Variance", "Average", "Lowest", "Count", "Highest", "DistinctCount", "StandardDeviation", "System", "First". Si se coloca Nothing se mostrara el valor del atributo. |

**Summary**

| Atributo   | Descripciòn                                                                                                                                            |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| staticText | Texto de la banda summary                                                                                                                              |
| field      | Atributo de la banda summary                                                                                                                           |
| operation  | se utilizan los valores "Nothing", "Sum", "Variance", "Average", "Lowest", "Count", "Highest", "DistinctCount", "StandardDeviation", "System", "First" |

Deseamos:

* Agruparlo por grupo, en el Group Header colocar el mensaje Grupo y mostrar el valor del atributo grupo
* En el Group Footer, mostrar el mensaje Suma y sumar el atributo cantidad mediante la operacion sum
* En el resumen queremos sumar todas las cantidades y mostrar el texto Total de cantidad

```java
Page {
       size:"A4",
      }
Group {
       field:"grupo",
       staticTextHeader:"Grupo",
       staticTexFooter:"Suma",
       fieldFooter:"cantidad",
       operation:"Sum"
       }
Summary{
        staticText:"Total de cantidad",
        field:"cantidad",
        operation:"Sum"
        }
```

![](/files/-Lc1WqmBLn9MoKBAyzS4)

Podemos generarlo automaticamente o dar clic en Siguiente pagina ![](/files/-Lc1WqmD4shTu_YesHlz)

Observamos el jasper que esta generando

![](/files/-LgIohrcrQ36nWe8t349)

Podemos ver las secciones, que se han definido las variables con las operaciones

```java
<variable name="v_cantidad" class="java.lang.Integer" resetType="Group" resetGroup="group_grupo" calculation="Sum">
          <variableExpression><![CDATA[$F{cantidad}]]></variableExpression>
 </variable>
 <variable name="v_summary_cantidad" class="java.lang.Integer"  calculation="Sum">
       <variableExpression><![CDATA[$F{cantidad}]]></variableExpression>
 </variable>
```

## Grupos

Podemos observar las bandas de grupos

```java
 <group name="group_grupo">
          <groupExpression><![CDATA[$F{grupo}]]></groupExpression>
          <groupHeader>
                   <band height="38">
                        <staticText>
                                   <reportElement x="1" y="10" width="100" height="20" />
                                   <textElement>
                                           <font isBold="true"/>
                                   </textElement>
                                   <text><![CDATA[Grupo]]></text>
                         </staticText>
                         <textField>
                                  <reportElement x="110" y="10" width="100" height="20" />
                                  <textFieldExpression><![CDATA[$F{grupo}]]></textFieldExpression>
                         </textField>
                   </band>
          </groupHeader>
```

Ahora podemos editar el grupo de manera rapida haciendo clic en ![](/files/-Lc1WqmHA1J92OXvxfbQ)

![](/files/-Lc1WqmJZDWVoxAFxjIC)

Se muestra los parámetros establecidos en el JSON, y se pueden cambiar el contenido del Header y Footer.

Al terminar de modificarlo debemos hacer clic en el botòn guardar cambios ![](/files/-Lc1WqmLbbQhYK_4YSTW), si deseamos eliminar el grupo presionamos el botòn Eliminar grupo ![](/files/-Lc1WqmN6YCULhXh7G0r)

## Resumen

Dar clic en el botòn ![](/files/-Lc1WqmPDbpyrGewuIoe)

![](/files/-Lc1WqmRLfBSb_bapXYv)

Al terminar de modificarlo debemos hacer clic en el botòn guardar cambios ![](/files/-Lc1WqmTfvngDmuFnPq9), si deseamos eliminar el summary presionamos el botòn Eliminar ![](/files/-Lc1WqmViob9qlHXjKaQ)

Desde la Pantalla de Reportes

![](/files/-Lc1WqmX4oNTNcWWPBXS)

Guardamos el reporte ![](/files/-Lc1WqmZRk2tZ3PqCpQI)

Compilamos el reporte ![](/files/-Lc1WqmaaZcj5J-ruXtW)

Repetimos los pasos para el Reporte Details

![](/files/-Lc1WqmcDYGl21YcRmJf)

Ejecutamos el proyecto

![](/files/-Lc1Wqmeig7I1FSCtVeA)

Seleccionamos Modelo All y vemos el reporte agrupado

![](/files/-Lc1WqmgWedycfebQcd4)

**Si damos clic en Modelo Details**

![](/files/-Lc1WqmiIjO4wdoUChHQ)
