# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://avbravo-2.gitbook.io/jmoordbreport/reporte-agrupado.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
