Partager via


Fonction de résumé

S’applique à : Power Pages

Résumer les enregistrements d’une table en les regroupant sur une ou plusieurs colonnes.

Description

Utilisez la fonction Résumer pour regrouper les enregistrements d’une table et résumer les colonnes du groupe.

Le premier argument de Summarize est la table sur laquelle opérer. Les arguments restants peuvent être dans n’importe quel ordre et se répartissent en deux catégories :

  • Noms des colonnes de groupe. Utilisez-les pour spécifier les colonnes à regrouper.
  • Formules de résumé. Utilisez-les pour résumer les colonnes de la table ThisGroup . ThisGroup est une table qui contient toutes les colonnes de la table d’origine, mais qui est limitée aux enregistrements d’un groupe à la fois en fonction des colonnes du groupe. Chaque formule doit être nommée avec Comme pour le nom de colonne dans la table de résultats.

Une table est une valeur dans Power Apps, au même titre qu’une chaîne ou qu’un chiffre. Vous pouvez spécifier une table en tant qu’argument pour une fonction et une fonction peut renvoyer une table. Summarize ne modifie pas une table ; à la place, il prend une table comme argument et renvoie une table différente. Pour plus d’informations, voir Utilisation des tables.

Délégation

Summarize peut être délégué en fonction du source de données et de la complexité des formules de résumé. Les fonctions d’agrégation de base telles que Sum, Average, Max, Min, CountRows et Concat ont de bonnes chances d’être déléguées.

Si la délégation complète d’une formule n’est pas possible, l’auteur environnement signale la partie qui ne peut pas être déléguée avec un avertissement. Si possible, envisagez de modifier la formule pour éviter les fonctions et les opérateurs qui ne peuvent pas être délégués.

Pour plus d’informations, voir Présentation de la délégation.

Syntaxe

Résumer( Table, GroupByColumnName1 [, GroupByColumnName2 , ... ] [, SummarizeColumns As SummarizeNames, ...] )

  • Tableau - Obligatoire. Tableau à résumer.
  • GroupByColumnNames - Au moins un est requis. Noms des colonnes de la table en fonction desquelles regrouper les enregistrements. Ces colonnes deviennent des colonnes dans la table renvoyée.
  • SummarizeColumns - Facultatif. Formule de récapitulation sur la table ThisGroup pour chaque groupe.
  • SummarizeNames - Obligatoire pour chaque SummarizeColumn. Chaque colonne résumée doit être explicitement nommée pour la table de sortie.

Examples

Exemple simple

  1. Créez une table dans votre Power Fx hôte avec ces exemples de données :
Set( CityPopulations,
   Table(
        { City: "London",    Country: "United Kingdom", Population: 8615000},
        { City: "Berlin",    Country: "Germany",        Population: 3562000},
        { City: "Madrid",    Country: "Spain",          Population: 3165000},
        { City: "Rome",      Country: "Italy",          Population: 2874000},
        { City: "Paris",     Country: "France",         Population: 2273000},
        { City: "Hamburg",   Country: "Germany",        Population: 1760000},
        { City: "Barcelona", Country: "Spain",          Population: 1602000},
        { City: "Munich",    Country: "Germany",        Population: 1494000},
        { City: "Milan",     Country: "Italy",          Population: 1344000}
    )
)
  1. Évaluez la formule suivante :
Summarize( CityPopulations, Country,
           Sum( ThisGroup, Population ) As 'Total Population',
           Concat( ThisGroup, City, ", " ) As Cities 
)

Le résultat est ce tableau :

Country Population totale Villes
Royaume-Uni 8615000 Londres
Allemagne 6816000 Berlin, Hambourg, Munich
Espagne 4767000 Madrid, Barcelone
Italie 4218000 Rome, Milan
France 2273000 Paris

Colonnes de groupe multiples

  1. Créez une table dans votre Power Fx hôte avec ces exemples de données :
Set( Inventory, 
   Table(
      {Supplier:"Contoso",  Fruit:"Grapes",  Price:220, Purchase:Date(2015,10,1), Tags: ["Red","Seedless"]},
      {Supplier:"Fabrikam", Fruit:"Lemons",  Price:31,  Purchase:Date(2015,10,1), Tags: ["Colombia"]},
      {Supplier:"Contoso",  Fruit:"Lemons",  Price:29,  Purchase:Date(2015,10,2), Tags: ["Peru"]},
      {Supplier:"Contoso",  Fruit:"Grapes",  Price:210, Purchase:Date(2015,10,2), Tags: ["Green","Seedless"]},
      {Supplier:"Fabrikam", Fruit:"Lemons",  Price:30,  Purchase:Date(2015,10,3), Tags: ["Mexico","Seedless"]},
      {Supplier:"Contoso",  Fruit:"Bananas", Price:12,  Purchase:Date(2015,10,3), Tags: ["Mexico"]}
   )
)
  1. Évaluez la formule suivante :
Summarize( Inventory, Supplier, Fruit, Average( ThisGroup, Price ) As 'Average Price' )
Fruit Fournisseur Prix moyen
Raisins Contoso 215
Citrons Fabrikam 30.5
Citrons Contoso 29
Bananes Contoso 12