3.3 · Totales acumulados en curso (Running Total)

Nivel 3 · Avanzado: fórmulas y formato condicional

3.3Totales acumulados en curso (Running Total)

Objetivo: crear un campo de acumulado que progrese línea tras línea, con el restablecimiento correcto (nunca / por grupo / por fórmula).
Tiempo estimado: 10 min · lectura autónoma · Si solo tienes 5 min: lee «Lo esencial en 30s» + el esquema.

Lo esencial en 30 segundos

  • Resumen = total final, acumulado = total que sube: el resumen (2-2) da UN total al final; el acumulado en curso muestra el total intermedio en cada línea (saldo progresivo, total a la fecha).
  • El ajuste crucial es el Reset: nunca (acumulado global en todo el informe), por grupo (vuelve a cero por cliente/cuenta), o por fórmula — le da su sentido al acumulado.
  • Un acumulado depende del orden: suma en el orden de visualización — ordenar las líneas primero (por fecha para un extracto), si no los saldos intermedios no tienen ningún sentido.

Minicaso hilo conductor — Farès elabora el extracto progresivo por cliente

Farès, controlador de gestión en Argel, debe entregar a cada comercial el extracto de sus clientes con el saldo DESPUÉS de cada factura — no solo el total final. Crea un campo de acumulado (explorador → Running Total Fields): campo Importe en Suma, evaluado para cada registro, restablecido con cada cambio de grupo Cliente, líneas ordenadas por fecha. Cada línea muestra ahora el saldo acumulado a esa fecha, volviendo a cero para cada cliente. Los comerciales siguen la evolución en lugar de descubrir el total al final.

Este mismo caso vuelve en el curso, el esquema, el guion y el desafío 48h.

1. Acumulado frente a resumen: el total que progresa

Una necesidad que los resúmenes clásicos no cubren: el ACUMULADO EN CURSO (Running Total) — una suma (o un recuento) que se ACUMULA línea tras línea, mostrando el total « en esta línea ». Ejemplos: saldo progresivo de un extracto de cuenta (cada línea muestra el saldo tras la operación), total « a la fecha », acumulado de clasificación. Allí donde un resumen da UN total al final de un grupo o del informe, el acumulado da el total INTERMEDIO en CADA línea, progresando.

Crystal Reports ofrece una herramienta dedicada: los campos de acumulado (Running Total Fields), creados en el explorador. Allí se definen tres cosas: (1) el CAMPO a acumular y la OPERACIÓN (Suma, Recuento…); (2) la CONDICIÓN de evaluación (para cada registro, o bajo condición — añadir solo ciertas líneas); (3) sobre todo la condición de RESTABLECIMIENTO (Reset) — cuándo poner el acumulado a cero. El acumulado se muestra en la sección Detalles (el total en cada línea) o en un pie (el acumulado final).

2. El restablecimiento: el ajuste que lo hace todo

Tres opciones de Reset, tres sentidos diferentes. No restablecer nunca: el acumulado recorre TODO el informe, de principio a fin — un total global que sube continuamente (saldo general progresivo). Restablecer con cada cambio de GRUPO: el acumulado vuelve a cero para cada grupo — un saldo progresivo POR cliente, POR cuenta (el caso de Farès). Restablecer por una FÓRMULA: condición personalizada para los casos especiales. Ajustar bien el restablecimiento es la diferencia entre un acumulado correcto y un total incoherente.

Dos precauciones. Primero el ORDEN de las líneas: un acumulado suma en el orden de visualización — unas líneas sin ordenar (por fecha para un extracto) dan saldos intermedios absurdos aunque el total final parezca bueno. Después los duplicados de combinación (nivel 0): como para los resúmenes, unas líneas multiplicadas inflan el acumulado — y las condiciones de evaluación inadecuadas (añadir demasiadas o pocas líneas). En caso de incoherencia: verificar el orden, luego el Reset, luego la condición de evaluación, en ese orden.

Error frecuente de interpretación: « Un acumulado es un resumen colocado en los Detalles — y el orden de las líneas no tiene importancia ». No, dos veces. Un resumen en los Detalles repite el mismo valor final en cada línea; un acumulado recalcula un total PARCIAL que crece — dos objetos diferentes. Y el orden es vital: sumar en desorden es contar una progresión falsa con un total final correcto. Ordenar primero, acumular después.
Montar un acumulado correcto Campo, evaluación, restablecimiento, orden Ordenar primero Líneas enorden (fecha, secuencia)Campo de acumulado Campo + Suma +condición de evaluaciónReset según la intención Nunca(global) o por grupoVerificar en vista previa Progresa yse restablece como previsto
Campo, evaluación, restablecimiento, orden
Versión en texto del esquema (SEO / lectores de pantalla / traducción): 1) Orden: Farès ordena sus líneas por fecha, porque un extracto se lee cronológicamente. 2) Acumulado: campo Importe en Suma, evaluado para cada registro, mostrado en los Detalles. 3) Reset: restablecimiento con cada cambio de grupo Cliente — el saldo vuelve a cero por cliente. Lección: el Reset da el sentido, el orden da la verdad.

🔎 Ejemplo concreto — Saldo progresivo por cliente, ajuste completo

Farès configura su campo de acumulado para los extractos comerciales.

Campo: {Factures.Montant} — operación Suma
Evaluar: para cada registro
Restablecer: con cada cambio de grupo (Cliente)
→ líneas ordenadas por fecha; acumulado colocado en Detalles.

Lectura: cada línea muestra el saldo a esa fecha, por cliente.

Lección: el mismo acumulado en « nunca » daría un saldo global — otra necesidad, otro Reset.

Vocabulario de la sección

Acumulado en curso (Running Total)
Suma o recuento que se acumula línea tras línea, mostrando el total « en esta línea » (saldo progresivo, total a la fecha).

Ejemplo sencillo: El saldo tras cada factura en el extracto de Farès.

Lo que no es: un resumen que solo da un total final.

Reflejo: en cuanto haya que ver la progresión, no solo el final.

Campo de acumulado (Running Total Field)
Objeto dedicado creado en el explorador: campo a acumular, operación (Suma, Recuento…), condición de evaluación y restablecimiento.

Ejemplo sencillo: El campo Suma de {Factures.Montant} de Farès.

Lo que no es: un contador programado a mano en fórmula.

Reflejo: usar la herramienta dedicada en lugar de improvisar.

Restablecimiento (Reset)
Ajuste crucial: cuándo poner el acumulado a cero — nunca (global), con cada cambio de grupo (por cliente/cuenta), o por fórmula.

Ejemplo sencillo: La vuelta a cero por cliente de los extractos de Farès.

Lo que no es: un acumulado que sigue subiendo de un cliente a otro.

Reflejo: elegir el Reset según la intención ante todo.

Acumulado frente a resumen
El RESUMEN (2-2) da un total al final de un grupo/del informe; el ACUMULADO da el total intermedio en cada línea, progresando.

Ejemplo sencillo: Total final del cliente frente a saldo tras cada factura.

Lo que no es: un resumen copiado en los Detalles como si fuera un acumulado.

Reflejo: progresión → acumulado; síntesis → resumen.

Dependencia del orden
Un acumulado suma en el orden de visualización: unas líneas mal ordenadas dan intermedios falsos (aunque el final sea bueno).

Ejemplo sencillo: El extracto ordenado por fecha antes de todo acumulado.

Lo que no es: un acumulado sobre líneas en el orden aleatorio de la base de datos.

Reflejo: ordenar siempre antes de acumular.

En la práctica — Crear un acumulado en curso

  1. Cree un campo de acumulado (explorador → Running Total Fields → Nuevo): campo a acumular + operación Suma.
  2. Ajuste el RESTABLECIMIENTO según la necesidad: nunca (saldo global) o con cada cambio de GRUPO (saldo por cliente/cuenta).
  3. Coloque el acumulado en la sección Detalles y ORDENE las líneas en el orden esperado (fecha, secuencia).
  4. Verifique en la vista previa: el total progresa línea tras línea y se restablece (o no) como previsto.
Produce saldos progresivos y totales corrientes (extractos, acumulados por grupo) — unos estados muy solicitados, difíciles de hacer de otro modo.

Guion listo para decir — entregar los extractos a los comerciales (30 s)

« Cada extracto muestra ahora el saldo tras cada factura, en el orden de las fechas, y vuelve a cero para cada cliente. Siguen la evolución en lugar de descubrir el total al final — y el acumulado se recalcula solo con cada actualización. »

Para decir al entregar los extractos; mostrar una línea y su saldo acumulado.

Plantilla copiar-pegar — acumulado manual en fórmula (sintaxis Crystal)

// Fórmula @Cumul colocada en Detalles (si hace falta fuera de la herramienta dedicada)
WhilePrintingRecords;
NumberVar Cumul;
Cumul := Cumul + {Factures.Montant};
Cumul
// Fórmula @ResetCumul colocada en Encabezado de grupo Cliente
WhilePrintingRecords;
NumberVar Cumul := 0;

Independiente

Un campo de acumulado bien restablecido y sus extractos progresivos se venden solos.

PYME en Argel

Farès entrega los extractos por cliente: saldo en cada línea, ordenados por fecha.

Equipo de proyecto

Estandarizar el Reset por grupo Cliente para todos los extractos comerciales.

Principiante

Esta semana: un acumulado global (nunca) + un acumulado por grupo, comparados en vista previa.

✓ Buenas prácticas

  • Elija el Reset ANTES de crear el acumulado: define lo que la cifra significa.
  • Ordene siempre las líneas en el orden esperado antes de acumular (fecha, secuencia).
  • En caso de incoherencia, verifique en el orden: orden, Reset, condición de evaluación.

✗ Errores frecuentes

  • Olvidar el orden: intermedios absurdos con un total final que parece bueno.
  • Dejar « no restablecer nunca » para una necesidad por cliente (o al revés).
  • Acumular sobre líneas duplicadas por una mala combinación (sumas infladas).

Puntos clave

  • El ACUMULADO muestra el total INTERMEDIO en CADA línea (saldo progresivo) — el resumen solo da un total final.
  • Herramienta dedicada: CAMPOS DE ACUMULADO — campo, operación, condición de evaluación y sobre todo RESTABLECIMIENTO.
  • RESET: NUNCA (global), POR GRUPO (vuelve por cliente/cuenta), o POR FÓRMULA — determina el sentido del acumulado.
  • Un acumulado DEPENDE DEL ORDEN: ordenar antes, verificar en vista previa, vigilar los duplicados de combinación.

Desafío 48h — aplíquelo mañana

Produzca 1 extracto progresivo real (acumulado por grupo, líneas ordenadas) y hágalo controlar por un comercial línea por línea.

Lista de salida de la sección
  • Distingo acumulado progresivo y total final.
  • Mi Reset corresponde a la intención (global o por grupo).
  • Mis líneas están ordenadas y mi acumulado verificado en vista previa.
Autoevaluación 1-5: ¿se han controlado mis intermedios, no solo el final?¿mi Reset vuelve al nivel correcto?

Preguntas frecuentes

Acumulado o resumen: ¿cuándo usar uno u otro, y cómo ajustar el restablecimiento?

El RESUMEN (2-2) da UN total al final de un grupo (subtotal) o del informe (total general) — úselo para el total de un grupo o global. El ACUMULADO da el total PROGRESIVO en cada línea — úselo para un SALDO línea por línea (extracto), un total « a la fecha », un acumulado que vuelve por categoría. Requisitos previos del acumulado: informe agrupado si Reset por grupo, líneas ordenadas. Ajustes: « no restablecer nunca » = acumulado global continuo; « con cada cambio de grupo » = vuelve a cero por grupo (saldo POR cliente); « por fórmula » = condición personalizada. La opción « agrupar el resto / Otros » y el acumulado condicional (añadir solo ciertas líneas) completan la herramienta.

Mi acumulado da resultados incoherentes: ¿qué causas verificar?

En el orden: (1) El ORDEN de las líneas (causa n.º 1) — el acumulado suma en el orden de visualización; sin orden por fecha/secuencia, los intermedios no tienen ningún sentido aunque el final pueda ser bueno. Remedio: ORDENAR antes. (2) El RESET mal ajustado — un « nunca » que sigue subiendo de un cliente a otro, o un restablecimiento en el grupo equivocado. Remedio: ajustar según la intención. (3) La CONDICIÓN DE EVALUACIÓN — « para cada registro » por defecto; si solo quiere acumular ciertas líneas, la condición debe corresponder. (4) Los DUPLICADOS de combinación — líneas multiplicadas = acumulado inflado, como para los resúmenes. Verifique un acumulado contra valores conocidos línea por línea, no solo el total final.

Comprueba tu comprensión

¿Qué regula el restablecimiento (Reset) de un acumulado en curso?

Recursos adicionales (opcional, para ir más allá)

Examen del nivel 3Preguntas inéditas y más difíciles para validar tus conocimientos