SUMMARIZE

Langue: Français
Cet article a été traduit de l'anglais par IA et peut contenir des erreurs. Vos commentaires nous aideront à l'améliorer.

Description

La fonction SUMMARIZE résume son tableau d'entrée, en regroupant par une ou plusieurs colonnes.

Usage

SUMMARIZE (<Table Expression>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)

La fonction SUMMARIZE renvoie un nouveau tableau. Le nouveau tableau inclura toutes les colonnes sur lesquelles le regroupement est effectué, ainsi que les nouvelles expressions.

Exemples

Éviter le double comptage des rapports d'activité

Si vous avez un programme dont l'objectif est de promouvoir certaines pratiques nutritionnelles pour les mères d'enfants de cinq ans et moins, et que des partenaires vous rapportent des indicateurs de résultats agrégés tels que :

  • Nombre de mères atteintes par le biais d'une sensibilisation porte-à-porte (INPERSON)
  • Nombre estimé de mères atteintes par des émissions de radio (RADIO)

Vous pourriez vouloir estimer votre portée globale en combinant ces deux indicateurs. Cependant, si un partenaire mène une sensibilisation porte-à-porte et un autre partenaire diffuse des émissions de radio dans la même zone géographique, vous ne voulez pas compter ces indicateurs en double.

Partenaire District INPERSON RADIO
A Nord 500
A Sud 600 1 000
B Nord 2 000
B Est 5 000
C Ouest 300

Dans ce cas, si vous additionniez tous ces indicateurs, vous risqueriez de compter en double les résultats dans le district Nord où 500 mères ont été atteintes en personne, mais 2 000 ont été atteintes via la radio. Il est probable que de nombreuses mères aient reçu à la fois une visite en personne et entendu le message à la radio.

Une solution à cela est de d'abord additionner les résultats au niveau du district, et de prendre soit les chiffres des visites en personne, soit les chiffres de la radio, selon le plus élevé des deux.

Nous utiliserons d'abord la fonction SUMMARIZE pour calculer un nouveau tableau avec les SOMMES des deux champs par district.

SUMMARIZE([Rapports des partenaires], Province, "TOTAL_INPERSON", SUM(INPERSON), "TOTAL_RADIO", SUM(RADIO))

Cela nous donne un nouveau tableau qui ressemble à :

District TOTAL_INPERSON TOTAL_RADIO
Nord 500 2 000
Sud 600 1 000
Est 5 000
Ouest 300

Maintenant, pour trouver la portée totale, nous pouvons utiliser la fonction SUMX pour calculer le MAX de chaque ligne, puis additionner les maximums :

SUMMARIZE([Rapports des partenaires], Province, "TOTAL_INPERSON", SUM(INPERSON), "TOTAL_RADIO", SUM(RADIO)) |>
  SUMX(MAX(TOTAL_INPERSON, TOTAL_RADIO))

Cela nous donne un résultat final de 2 000 + 1 000 + 5 000 + 300, soit 8 300.

Suivi des modifications de l'état de santé dans le temps

Supposons que vous suiviez le nombre de membres de la famille malades dans les ménages au fil du temps. Vous avez un formulaire « Suivi de santé du ménage » qui contient des enregistrements sur le nombre de membres de la famille malades à une date de rapport donnée, comme suit :

Famille Nombre de membres de la famille malades Date du rapport
Ahunna 3 2023-01-15
Bilal 1 2023-02-10
Ahunna 4 2023-01-20
Bilal 2 2023-01-15

Vous pouvez définir une table calculée qui montre le premier et le dernier nombre de membres de la famille malades rapporté pour chaque famille en utilisant la formule suivante :

SUMMARIZE([Suivi de santé du ménage], [Famille], 
    "Baseline", FIRST([Nombre de membres de la famille malades], [Date du rapport]),
    "Final",    LAST ([Nombre de membres de la famille malades], [Date du rapport])) |>
ADDCOLUMNS(
    "Change", Final - Baseline,  
    "Pct change", (Final - Baseline) / Baseline)   

Le résultat serait un tableau :

Famille Initial Final Modification Modification en %
Ahunna 3 4 1 33%
Bilal 2 1 -1 -33%
Élément suivant
UNION