PowerApps'teki GroupBy ve Ungroup işlevleriGroupBy and Ungroup functions in PowerApps

Bir tablodaki kayıtları gruplandırır ve gruplandırılmış olanların grubunu çözer.Groups and ungroups records of a table.

AçıklamaDescription

GroupBy işlevi, kayıtları bir veya daha fazla sütundaki değerlere göre gruplandırılmış bir tablo döndürür.The GroupBy function returns a table with records grouped together based on the values in one or more columns. Aynı gruptaki kayıtlar tek bir kayda alınır ve kalan sütunların iç içe geçmiş tablosunu içeren bir sütun eklenir.Records in the same group are placed into a single record, with a column added that holds a nested table of the remaining columns.

Ungroup işlevi, GroupBy işleminin tersini yapar.The Ungroup function reverses the GroupBy process. Bu işlev bir tabloyu gruplandırılmış olan kayıtlarını ayrı kayıtlar haline getirerek döndürür.This function returns a table, breaking into separate records any records that were grouped together.

Kayıtları GroupBy işlevini kullanarak gruplandırabilir, döndürülen tabloyu değiştirebilir ve değiştirilen tablodaki kayıtların grubunu Ungroup işleviyle çözebilirsiniz.You can group records by using GroupBy, modify the table that it returns, and then ungroup records in the modified table by using Ungroup. Örneğin, şu yaklaşımı kullanarak bir kayıt grubunu kaldırabilirsiniz:For example, you can remove a group of records by following this approach:

  • GroupBy işlevini kullanın.Use the GroupBy function.
  • Filter işlevini kullanarak bir kayıt grubunun tamamını kaldırın.Use the Filter function to remove the entire group of records.
  • Ungroup işlevini kullanın.Use the Ungroup function.

Ayrıca gruplandırma işlemine göre sonuç toplamı alabilirsiniz:You can also aggregate results based on a grouping:

  • GroupBy işlevini kullanın.Use the GroupBy function.
  • AddColumns işlevini Sum, Average ve diğer toplama işlevleriyle birlikte kullanarak grup tablolarının toplamını içeren yeni bir sütun ekleyebilirsiniz.Use the AddColumns function with Sum, Average, and other aggregate functions to add a new column which is an aggregate of the group tables.
  • DropColumns işlevini kullanarak gruplandırılan tabloyu bırakabilirsiniz.Use the DropColumns function to drop the group table.

Ungroup, GroupBy işlevine iletilen kayıtların özgün sırasını korumaya çalışır.Ungroup tries to preserve the original order of the records that were fed to GroupBy. Bu her zaman mümkün değildir (örneğin, özgün tablonun boş kayıtlar içermesi durumunda).This isn't always possible (for example, if the original table contains blank records).

PowerApps'te tablolar, tıpkı dize veya sayı gibi bir değerdir.A table is a value in PowerApps, just like a string or a number. Bir işlev için tabloyu bağımsız değişken olarak belirtebilirsiniz ve bir işlev bir tablo döndürebilir.You can specify a table as an argument for a function, and a function can return a table. GroupBy ve Ungroup işlevleri bir tabloyu değiştirmez; bunun yerine tabloyu bir bağımsız değişken olarak ele alır ve farklı bir tablo döndürür.GroupBy and Ungroup don't modify a table; instead they take a table as an argument and return a different table. Daha fazla ayrıntı için bkz. tablolarla çalışma.See working with tables for more details.

Söz dizimiSyntax

GroupBy( Tablo, SütunAdı1 [, SütunAdı2, ... ], GrupSütunAdı )GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName )

  • Table - Gerekli.Table - Required. Gruplandırılacak tablo.Table to be grouped.
  • ColumnName değerleri - Gerekli.ColumnName(s) - Required. Kayıtların gruplandırılması için kullanılacak Tablo içindeki sütun adları.The column names in Table by which to group records. Bu sütunlar sonuç olarak elde edilen tablodaki sütunları oluşturur.These columns become columns in the resulting table.
  • GrupSütunAdı: Gerekli.GroupColumnName - Required. SütunAdları içinde olmayan kayıt verilerinin depolama alanı için sütun adı.The column name for the storage of record data not in the ColumnName(s).

    Not

    Boşluklu sütun adları içeren SharePoint ve Excel veri kaynakları için her bir boşluğu "_x0020_" olarak belirtin.For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Örneğin, "Sütun Adı" öğesini "Sütun_x0020_Adı" olarak belirtin.For example, specify "Column Name" as "Column_x0020_Name".

Ungroup( Tablo, GrupSütunAdı )Ungroup( Table, GroupColumnName )

  • Table - Gerekli.Table - Required. Grubu çözülecek tablo.Table to be ungrouped.
  • GrupSütunAdı: Gerekli.GroupColumnName - Required. GroupBy işleviyle belirlenen kayıt verilerini içeren sütun.The column that contains the record data setup with the GroupBy function.

    Not

    Boşluklu sütun adları içeren SharePoint ve Excel veri kaynakları için her bir boşluğu "_x0020_" olarak belirtin.For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Örneğin, "Sütun Adı" öğesini "Sütun_x0020_Adı" olarak belirtin.For example, specify "Column Name" as "Column_x0020_Name".

ÖrneklerExamples

Koleksiyon oluşturunCreate a collection

  1. Bir düğme ekleyin ve Text özelliğini düğmede Özgün yazacak şekilde ayarlayın.Add a button, and set its Text property so that the button shows Original.
  2. Özgün düğmesinin OnSelect özelliğini şu formül olarak ayarlayın: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. F5 tuşuna basın, Özgün düğmesini seçin ve Esc tuşuna basın.Press F5, select the Original button, and then press Esc.

    Şu verileri içeren CityPopulations adlı bir koleksiyon oluşturdunuz:You just created a collection, named CityPopulations, that contains this data:

  4. Bu koleksiyonu görüntülemek için Dosya menüsünden Koleksiyonlar'ı seçin ve ardından CityPopulations koleksiyonunu belirleyin.To display this collection, select Collections on the File menu and then select the CityPopulations collection. Koleksiyondaki ilk beş kayıt görünür:The first five records in the collection appear:

Kayıtları gruplandırmaGroup records

  1. Başka bir düğme ekleyin ve Text özelliğini "Group" olarak ayarlayın.Add another button, and set its Text property to "Group".
  2. Düğmenin OnSelect özelliğini şu formül olarak ayarlayın:Set the OnSelect property of this button to this formula:

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

  3. F5 tuşuna basın, Group düğmesini seçin ve Esc tuşuna basın.Press F5, select the Group button, and then press Esc.

    CitiesByCountry adlı bir koleksiyon oluşturdunuz ve önceki koleksiyonun kayıtlarını Country sütunuyla gruplandırarak eklediniz.You just created a collection, named CitiesByCountry, in which the records of the previous collection are grouped by the Country column.

  4. Bu koleksiyondaki ilk beş kaydı görüntülemek için Dosya menüsünden Koleksiyonlar'ı seçin.To display the first five records in this collection, select Collections on the File menu.

  5. Bir ülkedeki şehirlerin nüfuslarını görüntülemek için ilgili ülkenin (örneğin, Almanya) Cities sütunundaki tablo simgesini seçin:To display the populations of cities in a country, select the table icon in the Cities column for that country (for example, Germany):

Kayıtları filtreleme ve gruplarını çözmeFilter and ungroup records

  1. Başka bir düğme ekleyin ve Text özelliğini düğmede "Filter" yazacak şekilde ayarlayın.Add another button, and set its Text property so that the button shows "Filter".
  2. Düğmenin OnSelect özelliğini şu formül olarak ayarlayın: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. F5 tuşuna basın, eklediğiniz düğmeyi seçin ve Esc tuşuna basın.Press F5, select the button that you added, and then press Esc.

    CitiesByCountryFiltered adında ve yalnızca içinde "e" harfi bulunan ülkeleri içeren (İspanya veya İtalya'yı içermeyen) üçüncü bir koleksiyon oluşturdunuz.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. Bir düğme daha ekleyin ve Text özelliğini düğmede "Ungroup" yazacak şekilde ayarlayın.Add one more button, and set its Text property so that the button shows "Ungroup".
  5. Düğmenin OnSelect özelliğini şu formül olarak ayarlayın:Set the OnSelect property of this button to this formula:

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

    Sonuç şu şekilde olur:Which results in:

Sonuçları toplamaAggregate results

Gruplandırılmış tablolarda yapabileceğimiz başka bir işlem de sonuçları toplamaktır.Something else we can do with a grouped table is to aggregate the results. Bu örnekte her ülkedeki büyük şehirlerin nüfuslarını toplayacağız.In this example, we will sum the population of the major cities in each country.

  1. Başka bir düğme ekleyin ve Text özelliğini düğmede "Sum" yazacak şekilde ayarlayın.Add another button, and set its Text property so that the button shows "Sum".
  2. "Sum" düğmesinin OnSelect özelliğini şu formül olarak ayarlayın: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 ) ) )

    Sonuç şu şekilde olur:Which results in:

    AddColumns, CitiesByCountry koleksiyonuyla başlar ve Sum of City Populations sütununu ekler.AddColumns starts with the base CitiesByCountry collection and adds a new column Sum of City Populations. Bu sütunların değerleri Sum( Cities, Population ) formülüyle satır satır hesaplanır.This column's values are calculated row-by-row, based on the formula Sum( Cities, Population ). AddColumns, her tablo için Cities sütununun değerini (tablo olarak) sağlar ve Sum işlevi bu alt tablonun satırlarını toplayarak Population değerini bulur.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. İstediğimiz toplamı elde ettiğimize göre DropColumns işlevini kullanarak alt tabloları kaldırabiliriz.Now that we have the sum that we want, we can use DropColumns to remove the sub tables. OnSelect özelliğini şu formülü kullanacak şekilde değiştirin:Modify the OnSelect property to use this formula:

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

    Sonuç şu şekilde olur:Which results in:

    Bu tablonun grubunu çözmeye gerek kalmadığına dikkat edin.Note that we did not need to ungroup this table.