2.2 · Totaux, sous-totaux & résumés

Niveau 2 · Intermédiaire : tri, regroupement & sélection

2.2Totaux, sous-totaux & résumés

Objectif : Insérer des résumés (Sum, Count…) au bon niveau et éviter les totaux faux.
Temps estimé : 10 min · lecture autonome · Si vous n'avez que 5 min : lisez « L'essentiel en 30s » + le schéma.

L'essentiel en 30 secondes

  • Résumé = opération + niveau : Sum, Count, Average… insérés via « Insérer un résumé » — la section choisie décide du périmètre totalisé.
  • Pied de groupe = sous-total, pied de rapport = général : même Sum, deux sens — mauvais niveau = total sans sens.
  • Recouper toujours : un total gonflé vient souvent de doublons de jointure — vérifier contre un chiffre connu.

Mini-cas filé — Farès et le total qui ne tombait pas juste

L'état de Farès est regroupé (Région > Client) mais sans chiffres : la direction veut le total par client, par région et le général. Farès insère un Sum du montant dans le Pied de groupe Client (sous-total du client) et le même Sum dans le Pied de rapport (total général). Premier contrôle : le général dépasse de 12 % le chiffre comptable. Cause : une jointure un-à-plusieurs duplique des lignes et gonfle la somme. Jointure corrigée, total recoupé : les trois niveaux tombent juste. En 2.3, Farès filtrera sur l'année pour des totaux à périmètre constant ; en 2.4, il pilotera la période par paramètre ; en 2.5, il masquera le détail pour la synthèse direction.

Suite du fil rouge 2.1 : l'état regroupé de Farès reçoit ses totaux — et continue en 2.3, 2.4 et 2.5.

1. Les champs de résumé

La grande valeur d'un état de gestion, ce sont les totaux : Crystal Reports les appelle des champs de résumé (Summary). On insère un résumé sur un champ en choisissant une opération : Somme (Sum) — la plus courante (total des montants) ; Nombre (Count) — compter les enregistrements ; Moyenne (Average) ; Maximum / Minimum, et d'autres. Via « Insérer un résumé (Insert Summary) » : on choisit l'opération et l'emplacement (quel pied de groupe, ou le pied de rapport). Farès résume le champ montant de ses commandes : Sum pour le chiffre d'affaires, Count pour le nombre de commandes.

2. Le niveau détermine ce qui est totalisé

Le point ESSENTIEL est le niveau (la section) : un résumé dans le Pied de groupe = un sous-total (total du groupe : les commandes de CE client) ; dans le Pied de rapport = le total général (toutes les lignes). Avec des groupes imbriqués (Région > Client), le Pied de groupe Client donne le total par client, le Pied de groupe Région le total par région : une pyramide de totaux. Placer un résumé au mauvais niveau donne un total qui ne veut rien dire — Farès vérifie chaque résumé dans la bonne section avant de mettre en forme (gras, ligne au-dessus, format nombre).

3. Opération juste, vigilance doublons

L'opération doit correspondre au besoin : Sum pour additionner des montants, Count pour compter les lignes (pas la somme) — la confusion Sum/Count est le piège classique. Un résumé se formate comme un nombre (décimales, séparateurs, symbole) et se met en évidence. Vigilance : les doublons de jointure (niveau 0) gonflent les sommes quand une relation un-à-plusieurs duplique des montants — le total « a l'air » plausible mais est faux. Garde-fou de Farès : toujours recouper un total contre une valeur connue (chiffre comptable) avant de diffuser l'état.

Erreur d'interprétation fréquente : « Count et Sum, c'est pareil : les deux totalisent ». Non. Sum ADDITIONNE les valeurs d'un champ (le montant total) ; Count COMPTE les enregistrements (le nombre de commandes), sans toucher aux valeurs. La règle de Farès : raisonner par la question — « quel total ? » → Sum ; « combien d'éléments ? » → Count — puis vérifier le niveau (pied de groupe ou de rapport).
Le niveau fait le total Où placer le résumé décide de ce qu'il totalise Pied de groupe Sous-total dugroupe (ce client)Pied de rapport Total général(toutes les lignes)Vérifier Recouper contreun chiffre connu
Où placer le résumé décide de ce qu'il totalise
Version texte du schéma (SEO / lecteurs d'écran / traduction) : 1) Farès INSÈRE : un Sum du montant dans le Pied de groupe Client (sous-total du client) et le même Sum dans le Pied de rapport (total général) — pyramide Région > Client > général. 2) Il CHOISIT : Sum pour additionner les montants, Count pour compter les commandes, en formatant (décimales, gras, ligne au-dessus). 3) Il VÉRIFIE : le général est recoupé contre le chiffre comptable, ce qui révèle des doublons de jointure gonflant la somme. Leçon : bon niveau + bonne opération + recoupement systématique.

Le saviez-vous ?

Farès a déjà présenté un total « parfait » dépassé de 12 % : une jointure dupliquait des lignes et gonflait la somme sans que rien ne clignote.
Vrai : un total faux a souvent l'air plausible — d'où le recoupement systématique.

Un total non recoupé est une opinion, pas un chiffre.

🔎 Exemple concret — 🔎 Exemple concret — Sous-total vs total général

Le même Sum de Farès, deux emplacements, deux sens :

Sum({Commandes.Montant}) dans le Pied de groupe Client → total de CE client.
Sum({Commandes.Montant}) dans le Pied de rapport → total général (toutes les commandes).
Count({Commandes.NumCommande}) dans le Pied de groupe → nombre de commandes du client.

Lecture : la section du résumé décide du périmètre : groupe = sous-total, rapport = général.

Leçon : recouper le total général avec un chiffre connu pour détecter les doublons de jointure.

Vocabulaire de la section

Champ de résumé (Summary)
Un total calculé sur un champ : Somme (Sum), Nombre (Count), Moyenne (Average), Max/Min — inséré via « Insérer un résumé ».

Exemple simple : Farès insère un Sum du montant des commandes.

Ce que ce n'est pas : un champ de la base affiché tel quel.

Réflexe : total voulu = Insérer un résumé.

Sous-total (Pied de groupe)
Un résumé placé dans le Pied de GROUPE : le total du groupe (ex. total des commandes de CE client).

Exemple simple : Sum du montant dans le Pied de groupe Client de Farès.

Ce que ce n'est pas : le total général de tout le rapport.

Réflexe : total par bloc = pied de groupe.

Total général (Pied de rapport)
Un résumé placé dans le Pied de RAPPORT : le total de toutes les lignes (Grand Total).

Exemple simple : Sum du montant dans le Pied de rapport de Farès, recoupé avec la comptabilité.

Ce que ce n'est pas : un sous-total limité à un groupe.

Réflexe : total global = pied de rapport.

Opération de résumé
Le calcul choisi : Sum additionne, Count compte les lignes, Average moyenne, Max/Min prennent l'extrême.

Exemple simple : Farès prend Sum pour le chiffre d'affaires, Count pour le nombre de commandes.

Ce que ce n'est pas : l'emplacement du résumé dans le rapport.

Réflexe : question posée = opération (total → Sum, combien → Count).

En pratique — En pratique — Ajouter totaux et sous-totaux

  1. Sélectionnez un champ numérique (montant) et « Insérer un résumé » : choisissez l'opération (Sum le plus souvent) et l'emplacement.
  2. Placez un SOUS-TOTAL dans le Pied de GROUPE (total du groupe) et un TOTAL GÉNÉRAL dans le Pied de RAPPORT.
  3. Formatez les totaux comme des nombres (décimales, séparateurs, symbole) et mettez-les en évidence (gras, ligne au-dessus).
  4. Vérifiez un total contre une valeur connue (pour détecter d'éventuels doublons de jointure qui gonfleraient les sommes).
Vous ajoutez des totaux et sous-totaux au bon NIVEAU (sous-total de groupe, total général) avec la bonne opération : l'état devient analytique et exploitable pour la gestion.

Script prêt à dire — présenter la pyramide des totaux (30 s)

« Chaque client a son sous-total en pied de groupe, chaque région cumule ses clients, et le pied de rapport donne le général — les trois niveaux se recoupent. J'ai vérifié le général contre la comptabilité : il tombe juste. Vous pouvez piloter par client, par région et au global, sur des chiffres contrôlés. »

À dire en montrant l'état de Farès : un pied de groupe client, un pied de région, puis le total général.

Modèle copier-coller — pyramide de résumés

[Sous-total client] Sum({Commandes.Montant}) → Pied de groupe Client
[Sous-total région] Sum({Commandes.Montant}) → Pied de groupe Région
[Total général] Sum({Commandes.Montant}) → Pied de rapport
[Compteur] Count({Commandes.NumCommande}) → Pied de groupe Client
[Contrôle] comparer le total général au chiffre comptable connu

Panier moyen

Farès ajoute un Average du montant par client : le panier moyen complète le sous-total.

Plus grosse commande

Maximum du montant par région : Farès repère la commande la plus importante de chaque zone.

Nombre de clients actifs

Distinct Count des clients par région : Farès compte les clients différents, pas les commandes.

Taux à ne pas sommer

Sommer des taux ou des prix unitaires n'a pas de sens : Farès utilise la moyenne, pas la somme.

✓ Bonnes pratiques

  • Choisissez l'opération selon la question (total = Sum, compter = Count).
  • Placez le sous-total dans le Pied de groupe, le total général dans le Pied de rapport.
  • Recoupez toujours vos totaux avec un chiffre attendu.

✗ Pièges fréquents

  • Un résumé au mauvais niveau (total qui ne veut rien dire).
  • Confondre Sum (additionner) et Count (compter les lignes).
  • Sommer des montants dupliqués par une jointure un-à-plusieurs.

Points clés à retenir

  • Les TOTAUX sont des champs de RÉSUMÉ : Sum (le plus courant), Count, Moyenne, Max/Min.
  • ESSENTIEL : le NIVEAU détermine ce qui est totalisé. Pied de groupe = sous-total ; Pied de rapport = total général.
  • L'OPÉRATION doit correspondre au besoin (Count compte les lignes, pas la somme). Un résumé se formate et se met en évidence.
  • Vigilance : les DOUBLONS de jointure gonflent les sommes → vérifier un total contre une valeur connue.

Défi 48h — appliquez demain

Sur votre état regroupé : insérez un Sum en pied de groupe et le même Sum en pied de rapport, ajoutez un Count, mettez en forme (gras, ligne), puis recoupez le général contre un chiffre connu.

Checklist sortie de section
  • Je peux insérer un résumé (opération + emplacement) via « Insérer un résumé ».
  • Je sais placer sous-total (pied de groupe) et total général (pied de rapport).
  • Je recouple mes totaux contre une valeur connue (anti-doublons).
Auto-évaluation 1-5 : est-ce que chaque résumé est au bon niveau ?est-ce que je choisis Sum/Count selon la question posée ?

Questions fréquentes

Comment obtenir sous-totaux et total général, et éviter les totaux faux ?

Le niveau (section) où l'on place le résumé détermine ce qu'il totalise. Sous-total par groupe → Pied de GROUPE (totalise le groupe) ; total général → Pied de RAPPORT (totalise tout). Insérez le champ, « Insérer un résumé », choisissez Sum et l'emplacement. Les totaux faux viennent surtout : (1) d'un mauvais niveau (vérifiez la section) ; (2) de doublons de jointure — une relation un-à-plusieurs duplique les montants et gonfle les sommes (le total « a l'air » plausible mais est faux) ; (3) d'une mauvaise opération. Le garde-fou : recoupez toujours vos totaux avec une valeur connue.

Sum, Count, Average… comment choisir l'opération ?

Raisonnez par la question. « Quel est le total ? » (montants, quantités) → SUM. « Combien d'éléments ? » (lignes) → COUNT. « Combien de valeurs différentes ? » → DISTINCT COUNT. « Quelle moyenne ? » → AVERAGE. « Le plus grand/petit ? » → MAX/MIN. Pièges : confondre Sum et Count (le total des ventes = Sum ; le nombre de ventes = Count) ; sommer un champ non additif (un taux, un prix unitaire, un identifiant n'ont pas de sens à additionner) ; compter des doublons. La bonne opération est celle qui répond exactement à la question posée.

Vérifiez votre compréhension

Où placer un résumé pour obtenir un sous-total par groupe ?

Ressources supplémentaires (optionnel, pour aller plus loin)

Examen du niveau 2Questions inédites et durcies pour valider vos acquis