Functies GroupBy en Groep opheffen in PowerAppsGroupBy and Ungroup functions in PowerApps

Groepeert records van een tabel en heft deze groep op.Groups and ungroups records of a table.

BeschrijvingDescription

De functie GroupBy retourneert een tabel met records die zijn gegroepeerd op basis van de waarden in een of meer kolommen.The GroupBy function returns a table with records grouped together based on the values in one or more columns. Records in dezelfde groep worden in één records geplaatst. Er wordt een kolom toegevoegd die een geneste tabel van de overige kolommen bevat.Records in the same group are placed into a single record, with a column added that holds a nested table of the remaining columns.

De functie Groep opheffen keert het GroupBy-proces om.The Ungroup function reverses the GroupBy process. Deze functie retourneert een tabel en breekt alle records die waren gegroepeerd op in afzonderlijke records.This function returns a table, breaking into separate records any records that were grouped together.

U kunt records groeperen door GroupBy te gebruiken, de tabel die hij retourneert wijzigen en de records in de gewijzigde tabel vervolgens met behulp van Groep opheffen opsplitsen.You can group records by using GroupBy, modify the table that it returns, and then ungroup records in the modified table by using Ungroup. U kunt bijvoorbeeld een groep records verwijderen door deze benadering te volgen:For example, you can remove a group of records by following this approach:

  • Gebruik de functie GroupBy.Use the GroupBy function.
  • Gebruik de functie Filter om de hele groep met records te verwijderen.Use the Filter function to remove the entire group of records.
  • Gebruik de functie Groep opheffen.Use the Ungroup function.

U kunt ook resultaten samenvoegen op basis van een groepering:You can also aggregate results based on a grouping:

  • Gebruik de functie GroupBy.Use the GroupBy function.
  • Gebruik de functie AddColumns met Som, Gemiddelde, en andere samenvoegingsfuncties om een nieuwe kolom toe te voegen die een samenvoeging van de groepstabellen vormt.Use the AddColumns function with Sum, Average, and other aggregate functions to add a new column which is an aggregate of the group tables.
  • Gebruik de functie DropColumns om de groepstabel te verwijderen.Use the DropColumns function to drop the group table.

Groep opheffen probeert de oorspronkelijke volgorde van de records die in GroupBy werden ingevoerd te behouden.Ungroup tries to preserve the original order of the records that were fed to GroupBy. Dit is niet altijd mogelijk (bijvoorbeeld als de oorspronkelijke tabel lege records bevat).This isn't always possible (for example, if the original table contains blank records).

Een tabel is een waarde in PowerApps, net zoals een tekenreeks of getal.A table is a value in PowerApps, just like a string or a number. U kunt een tabel opgeven als een argument voor een functie en een functie kan een tabel retourneren.You can specify a table as an argument for a function, and a function can return a table. GroupBy en Groep opheffen wijzigen een tabel niet. In plaats daarvan gebruiken ze een tabel als argument en retourneren ze een andere tabel.GroupBy and Ungroup don't modify a table; instead they take a table as an argument and return a different table. Zie working with tables (werken met tabellen) voor meer informatie.See working with tables for more details.

SyntaxisSyntax

GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName )GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName )

  • Tabel - vereist.Table - Required. Tabel die moet worden gegroepeerd.Table to be grouped.
  • NaamKolom(men) - vereist.ColumnName(s) - Required. De kolomnamen in Table waarop records moeten worden gegroepeerd.The column names in Table by which to group records. Deze kolommen worden kolommen in de resulterende tabel.These columns become columns in the resulting table.
  • GroupColumnName - vereist.GroupColumnName - Required. De kolomnaam voor de opslag van recordgegevens die niet in de ColumnName(s) zijn.The column name for the storage of record data not in the ColumnName(s).

    Notitie

    Vervang elke spatie in SharePoint- en Excel-gegevensbronnen met kolomnamen met spaties door ‘_x0020_’.For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Geef 'Naam kolom' bijvoorbeeld op als 'Naam_x0020_kolom'.For example, specify "Column Name" as "Column_x0020_Name".

Ungroup( Table, GroupColumnName )Ungroup( Table, GroupColumnName )

  • Tabel - vereist.Table - Required. Tabel waarvan de groep moet worden opgeheven.Table to be ungrouped.
  • GroupColumnName - vereist.GroupColumnName - Required. De kolom die de recordgegevensconfiguratie met de functie GroupBy bevat.The column that contains the record data setup with the GroupBy function.

    Notitie

    Vervang elke spatie in SharePoint- en Excel-gegevensbronnen met kolomnamen met spaties door ‘_x0020_’.For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Geef 'Naam kolom' bijvoorbeeld op als 'Naam_x0020_kolom'.For example, specify "Column Name" as "Column_x0020_Name".

VoorbeeldenExamples

Een verzameling makenCreate a collection

  1. Voeg een knop toe en stel de eigenschap Text zo in dat de knop Oorspronkelijk weergeeft.Add a button, and set its Text property so that the button shows Original.
  2. Stel de eigenschap OnSelect van de knop Origineel in op deze formule:Set the OnSelect property of the Original button to this formula:

    ClearCollect(Inwonersaantallen, {Stad:"Londen", Land:"Engeland", Inwonersaantal:8615000}, {Stad:"Berlijn", Land:"Duitsland", Inwonersaantal:3562000}, {Stad:"Madrid", Land:"Spanje", Inwonersaantal:3165000}, {Stad:"Rome", Land:"Italië", Inwonersaantal:2874000}, {Stad:"Parijs", Land:"Frankrijk", Inwonersaantal:2273000}, {Stad:"Hamburg", Land:"Duitsland", Inwonersaantal:1760000}, {Stad:"Barcelona", Land:"Spanje", Inwonersaantal:1602000}, {Stad:"München", Land:"Duitsland", Inwonersaantal:1494000}, {Stad:"Milaan", Land:"Italië", Inwonersaantal:1344000})ClearCollect(CityPopulations, {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})

  3. Druk op F5, selecteer de knop Origineel en druk vervolgens op Esc.Press F5, select the Original button, and then press Esc.

    U hebt zojuist een verzameling met de naam Inwonersaantallen gemaakt die deze gegevens bevat:You just created a collection, named CityPopulations, that contains this data:

  4. Selecteer Verzamelingen in het menu Bestand en selecteer vervolgens de verzameling Inwonersaantallen om deze verzameling weer te geven.To display this collection, select Collections on the File menu and then select the CityPopulations collection. De eerste vijf records in de verzameling worden weergegeven:The first five records in the collection appear:

Records groeperenGroup records

  1. Voeg een andere knop toe en stel de eigenschap Text ervan in op "Group".Add another button, and set its Text property to "Group".
  2. Stel de eigenschap OnSelect van deze knop in op deze formule:Set the OnSelect property of this button to this formula:

    ClearCollect( StedenPerLand, GroupBy( Inwonersaantallen, "Land", "Steden" ) )ClearCollect( CitiesByCountry, GroupBy( CityPopulations, "Country", "Cities" ) )

  3. Druk op F5, selecteer de knop Group en druk vervolgens op Esc.Press F5, select the Group button, and then press Esc.

    U hebt zojuist een verzameling met de naam CitiesByCountry gemaakt, waarin de records van de vorige verzameling zijn gegroepeerd op de kolom Country.You just created a collection, named CitiesByCountry, in which the records of the previous collection are grouped by the Country column.

  4. Selecteer Verzamelingen in het menu Bestand om de eerste vijf records van deze verzameling weer te geven.To display the first five records in this collection, select Collections on the File menu.

  5. Selecteer het pictogram met de tabel in de kolom Cities voor een bepaald land (bijvoorbeeld Duitsland) om de bevolking van steden in dat land weer te geven:To display the populations of cities in a country, select the table icon in the Cities column for that country (for example, Germany):

Records filteren en groepen opheffenFilter and ungroup records

  1. Voeg nog een knop toe en stel de eigenschap Text zo in dat de knop "Filter" weergeeft.Add another button, and set its Text property so that the button shows "Filter".
  2. Stel de eigenschap OnSelect van deze knop in op deze formule:Set the OnSelect property of this button to this formula:

    ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" in Country ) )ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" in Country ) )

  3. Druk op F5, selecteer de knop die u hebt toegevoegd en druk vervolgens op Esc.Press F5, select the button that you added, and then press Esc.

    U hebt zojuist een derde verzameling met de naam CitiesByCountryFiltered gemaakt die alleen de landen bevat die een "e" in hun namen hebben (dus niet Duitsland of Frankrijk).You just created a third collection, named CitiesByCountryFiltered, that includes only those countries that have an "e" in their names (that is, not Spain or Italy).

  4. Voeg nog een knop toe en stel de eigenschap Text zo in dat de knop "Ungroup" weergeeft.Add one more button, and set its Text property so that the button shows "Ungroup".
  5. Stel de eigenschap OnSelect van deze knop in op deze formule:Set the OnSelect property of this button to this formula:

    ClearCollect( InwonersaantallenUngrouped, Ungroup( StedenPerLandFiltered, "Steden" ) )ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, "Cities" ) )

    Dit resulteert in:Which results in:

Resultaten samenvoegenAggregate results

Een van de andere dingen die we met een gegroepeerde tabel kunnen doen, is het samenvoegen van de resultaten.Something else we can do with a grouped table is to aggregate the results. In dit voorbeeld zullen we de bevolking van de grote steden in elk land optellen.In this example, we will sum the population of the major cities in each country.

  1. Voeg nog een knop toe en stel de eigenschap Text zo in dat de knop "Sum" weergeeft.Add another button, and set its Text property so that the button shows "Sum".
  2. Stel de eigenschap OnSelect van de knop "Sum" in op deze formule:Set the OnSelect property of the "Sum" button to this formula:

    ClearCollect( InwonersaantallenSum, AddColumns( StedenPerLand, "Totale inwonersaantallen steden", Sum( Steden, Inwonersaantal ) ) )ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, "Sum of City Populations", Sum( Cities, Population ) ) )

    Dit resulteert in:Which results in:

    AddColumns start met de basisverzameling StedenPerLand en voegt een nieuwe kolom Totale inwonersaantallen steden toe.AddColumns starts with the base CitiesByCountry collection and adds a new column Sum of City Populations. De waarden van deze kolom worden per rij berekend op basis van de formule Sum( Cities, Population).This column's values are calculated row-by-row, based on the formula Sum( Cities, Population ). AddColumns biedt de waarde van de kolom Steden (een tabel) voor elke rij en Sum telt de Inwonersaantal voor elke rij van deze subtabel op.AddColumns provides the value of the Cities column (a table) for each row, and Sum adds up the Population for each row of this sub table.

  3. Nu we de som hebben die we willen, kunnen we DropColumns gebruiken om de subtabellen te verwijderen.Now that we have the sum that we want, we can use DropColumns to remove the sub tables. Wijzig de eigenschap OnSelect om deze formule te gebruiken:Modify the OnSelect property to use this formula:

    ClearCollect( InwonersaantallenSumOnly, DropColumns( InwonersaantallenSum, "Steden" ) )ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, "Cities" ) )

    Dit resulteert in:Which results in:

    Merk op dat we de groep in deze tabel niet hoefden op te heffen.Note that we did not need to ungroup this table.