GroupBy- und Ungroup-Funktionen in PowerAppsGroupBy and Ungroup functions in PowerApps

Gruppiert und hebt die Gruppierung von Datensätzen in einer Tabelle auf.Groups and ungroups records of a table.

BeschreibungDescription

Die GroupBy-Funktion gibt eine Tabelle mit Datensätzen zurück, die auf der Basis der Werte in einer oder mehreren Spalten gruppiert sind.The GroupBy function returns a table with records grouped together based on the values in one or more columns. Datensätze in der gleichen Gruppe werden in einem einzelnen Datensatz platziert. Dabei wird eine Spalte hinzugefügt, die eine geschachtelte Tabelle der übrigen Spalten enthält.Records in the same group are placed into a single record, with a column added that holds a nested table of the remaining columns.

Die Ungroup-Funktion kehrt den GroupBy-Prozess um.The Ungroup function reverses the GroupBy process. Diese Funktion gibt eine Tabelle zurück, die die zuvor gruppierten Datensätze in einzelne Datensätze aufteilt.This function returns a table, breaking into separate records any records that were grouped together.

Sie können Datensätze mithilfe der Funktion GroupBy gruppieren. Ändern Sie die Tabelle, die zurückgegeben wird, und heben Sie anschließend die Gruppierung der Datensätze in der geänderten Tabelle über die Funktion Ungroup wieder auf.You can group records by using GroupBy, modify the table that it returns, and then ungroup records in the modified table by using Ungroup. Beispielsweise können Sie eine Gruppe von Datensätzen entfernen, indem Sie diesem Ansatz folgen:For example, you can remove a group of records by following this approach:

  • Verwenden Sie die GroupBy-Funktion.Use the GroupBy function.
  • Verwenden Sie die Filter-Funktion, um die gesamte Gruppe von Datensätzen zu entfernen.Use the Filter function to remove the entire group of records.
  • Verwenden Sie die Ungroup-Funktion.Use the Ungroup function.

Sie können Ergebnisse auch aufgrund einer Gruppierung aggregieren:You can also aggregate results based on a grouping:

  • Verwenden Sie die GroupBy-Funktion.Use the GroupBy function.
  • Verwenden Sie die AddColumns-Funktion mit Sum, Average und andere Aggregatfunktionen, um eine neue Spalte hinzufügen, die ein Aggregat der Gruppentabellen darstellt.Use the AddColumns function with Sum, Average, and other aggregate functions to add a new column which is an aggregate of the group tables.
  • Verwenden Sie die DropColumns-Funktion, um die Gruppentabelle zu löschen.Use the DropColumns function to drop the group table.

Ungroup versucht, die ursprüngliche Reihenfolge der Datensätze zu erhalten, die von GroupBy eingelesen wurden.Ungroup tries to preserve the original order of the records that were fed to GroupBy. Dies ist nicht immer möglich (z.B. wenn die ursprüngliche Tabelle leere Datensätze enthält).This isn't always possible (for example, if the original table contains blank records).

Tabellen stellen in PowerApps einen Wert dar, genau wie Zeichenfolgen oder Zahlen.A table is a value in PowerApps, just like a string or a number. Sie können eine Tabelle als Argument für eine Funktion angeben, und eine Funktion kann eine Tabelle zurückgeben.You can specify a table as an argument for a function, and a function can return a table. GroupBy und Ungroup führen nicht zur Änderung einer Tabelle; stattdessen verwenden sie die Tabelle als Argument und geben eine andere Tabelle zurück.GroupBy and Ungroup don't modify a table; instead they take a table as an argument and return a different table. Weitere Details erfahren Sie unter Arbeiten mit Tabellen.See working with tables for more details.

SyntaxSyntax

GroupBy( Tabelle, SpaltenName1 [, SpaltenName2, ... ], GruppenSpaltenName )GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName )

  • Table: erforderlich.Table - Required. Zu gruppierende Tabelle.Table to be grouped.
  • ColumnName(s): erforderlich.ColumnName(s) - Required. Die Spaltennamen der Tabelle für die Gruppierung der Datensätze.The column names in Table by which to group records. Diese Spalten werden in der Ergebnistabelle zu Spalten.These columns become columns in the resulting table.
  • GruppenSpaltenName: erforderlich.GroupColumnName - Required. Der Spaltenname für die Speicherung von Datensatzdaten, die nicht in SpaltenName(n) enthalten sind.The column name for the storage of record data not in the ColumnName(s).

    Hinweis: Bei Excel- oder SharePoint-Datenquellen, die Spaltennamen mit Leerzeichen enthalten, geben Sie jedes Leerzeichen als "_X0020_" an.Note: For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". "Name der Spalte" wird z.B. als "Name_x0020_der_x0020_Spalte" angegeben.For example, specify "Column Name" as "Column_x0020_Name".

Ungroup( Tabelle, GruppenSpaltenName )Ungroup( Table, GroupColumnName )

  • Table: erforderlich.Table - Required. Tabelle, deren Gruppierung aufgehoben werden soll.Table to be ungrouped.
  • GruppenSpaltenName: erforderlich.GroupColumnName - Required. Die Spalte mit dem Datensatzdaten-Setup mit der GroupBy-Funktion.The column that contains the record data setup with the GroupBy function.

    Hinweis: Bei Excel- oder SharePoint-Datenquellen, die Spaltennamen mit Leerzeichen enthalten, geben Sie jedes Leerzeichen als "_X0020_" an.Note: For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". "Name der Spalte" wird z.B. als "Name_x0020_der_x0020_Spalte" angegeben.For example, specify "Column Name" as "Column_x0020_Name".

BeispieleExamples

Sammlung erstellenCreate a collection

  1. Fügen Sie eine Schaltfläche hinzu, und legen Sie Ihre Text-Eigenschaft so fest, dass die Schaltfläche Original anzeigt.Add a button, and set its Text property so that the button shows Original.
  2. Legen Sie die Eigenschaft OnSelect der Schaltfläche Originalauf diese Formel fest:Set the OnSelect property of the Original button to this formula:

    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})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. Drücken Sie F5, wählen Sie die Schaltfläche Original aus, und drücken Sie anschließend ESC.Press F5, select the Original button, and then press Esc.

    Sie haben jetzt eine Sammlung mit dem Namen CityPopulations erstellt, die die folgenden Daten enthält:You just created a collection, named CityPopulations, that contains this data:

  4. Um diese Sammlung anzuzeigen, wählen Sie im Menü Datei die Option Sammlungen und anschließend die Sammlung CityPopulations aus.To display this collection, select Collections on the File menu and then select the CityPopulations collection. Die ersten fünf Datensätze in der Sammlung werden angezeigt:The first five records in the collection appear:

Gruppieren von DatensätzenGroup records

  1. Fügen Sie eine andere Schaltfläche hinzu, und legen Sie deren Text-Eigenschaft aufGroup fest.Add another button, and set its Text property to "Group".
  2. Legen Sie die Eigenschaft OnSelect der Schaltfläche auf diese Formel fest:Set the OnSelect property of this button to this formula:

    ClearCollect( CitiesByCountry, GroupBy( CityPopulations, "Country", "Cities" ) )ClearCollect( CitiesByCountry, GroupBy( CityPopulations, "Country", "Cities" ) )

  3. Drücken Sie F5, wählen Sie die Schaltfläche Group aus, und drücken Sie anschließend ESC.Press F5, select the Group button, and then press Esc.

    Sie haben jetzt eine Sammlung mit dem Namen CitiesByCountry erstellt, in der die Datensätze der vorherigen Sammlung mithilfe der Spalte Country gruppiert werden.You just created a collection, named CitiesByCountry, in which the records of the previous collection are grouped by the Country column.

  4. Um die ersten fünf Datensätze in dieser Sammlung anzuzeigen, wählen Sie im Menü Datei die Option Sammlungen aus.To display the first five records in this collection, select Collections on the File menu.

  5. Zum Anzeigen der Einwohnerzahlen der Städte in einem Land wählen Sie das Tabellensymbol in der Spalte Cities für dieses Land aus (z.B. Germany):To display the populations of cities in a country, select the table icon in the Cities column for that country (for example, Germany):

Filtern und Aufheben der Gruppierung von DatensätzenFilter and ungroup records

  1. Fügen Sie eine andere Schaltfläche hinzu, und legen Sie deren Text-Eigenschaft so fest, dass die Schaltfläche „Filter“ anzeigt.Add another button, and set its Text property so that the button shows "Filter".
  2. Legen Sie die Eigenschaft OnSelect der Schaltfläche auf diese Formel fest: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. Drücken Sie F5, klicken Sie auf die Schaltfläche, die Sie hinzugefügt haben, und drücken Sie ESC.Press F5, select the button that you added, and then press Esc.

    Sie haben jetzt eine dritte Sammlung mit dem Namen CitiesByCountryFiltered erstellt, die nur Länder mit einem „e“ im Namen enthält, d h. nicht „Spain“ oder „Italy“.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. Fügen Sie eine weitere Schaltfläche hinzu, und legen Sie deren Text-Eigenschaft so fest, dass die Schaltfläche „Ungroup “ anzeigt.Add one more button, and set its Text property so that the button shows "Ungroup".
  5. Legen Sie die Eigenschaft OnSelect der Schaltfläche auf diese Formel fest:Set the OnSelect property of this button to this formula:

    ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, "Cities" ) )ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, "Cities" ) )

    Dies führt zu folgendem Ergebnis:Which results in:

Aggregieren von ErgebnissenAggregate results

Mit einer gruppierten Tabelle lassen sich außerdem Ergebnisse aggregieren.Something else we can do with a grouped table is to aggregate the results. In diesem Beispiel addieren wir die Einwohnerzahlen der größten Städte jedes Landes zusammen.In this example, we will sum the population of the major cities in each country.

  1. Fügen Sie eine andere Schaltfläche hinzu, und legen Sie deren Text-Eigenschaft so fest, dass die Schaltfläche „Sum“ anzeigt.Add another button, and set its Text property so that the button shows "Sum".
  2. Legen Sie die Eigenschaft OnSelect der Schaltfläche „Sum“ auf diese Formel fest:Set the OnSelect property of the "Sum" button to this formula:

    ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, "Sum of City Populations", Sum( Cities, Population ) ) )ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, "Sum of City Populations", Sum( Cities, Population ) ) )

    Dies führt zu folgendem Ergebnis:Which results in:

    AddColumns beginnt mit der grundlegenden Sammlung CitiesByCountry und fügt eine neue Spalte Sum of City Populations hinzu.AddColumns starts with the base CitiesByCountry collection and adds a new column Sum of City Populations. Die Werte dieser Spalte werden zeilenweise auf der Basis der Formel Sum ( Cities, Population) berechnet.This column's values are calculated row-by-row, based on the formula Sum( Cities, Population ). AddColumns stellt den Wert der Spalte Cities (eine Tabelle) für jede Zeile, und Sum addiert die Zahlen unter Population für jede Zeile dieser untergeordneten Tabelle.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. Wir haben jetzt die gewünschte Summe berechnet und können DropColumns verwenden, um die untergeordneten Tabellen zu entfernen.Now that we have the sum that we want, we can use DropColumns to remove the sub tables. Ändern Sie die OnSelect-Eigenschaft, um diese Formel zu verwenden:Modify the OnSelect property to use this formula:

    ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, "Cities" ) )ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, "Cities" ) )

    Dies führt zu folgendem Ergebnis:Which results in:

    Beachten Sie, dass wir die Gruppierung dieser Tabelle nicht aufheben mussten.Note that we did not need to ungroup this table.