GroupBy ve Ungroup işlevleri

Şunlar için geçerlidir: Tuval uygulamaları Model temelli uygulamalar

Bir tablodakikayıtları gruplandırır ve gruplandırılmış olanların grubunu çözer.

Description

GroupBy işlevi, kayıtları bir veya daha fazla sütundaki değerlere göre gruplandırılmış bir tablo döndürür. 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.

Ungroup işlevi, GroupBy işleminin tersini yapar. Bu işlev bir tabloyu gruplandırılmış olan kayıtlarını ayrı kayıtlar haline getirerek döndürür.

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. Örneğin, şu yaklaşımı kullanarak bir kayıt grubunu kaldırabilirsiniz:

  • GroupBy işlevini kullanın.
  • Filter işlevini kullanarak bir kayıt grubunun tamamını kaldırın.
  • Ungroup işlevini kullanın.

Ayrıca gruplandırma işlemine göre sonuç toplamı alabilirsiniz:

  • GroupBy işlevini kullanın.
  • 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.
  • DropColumns işlevini kullanarak gruplandırılan tabloyu bırakabilirsiniz.

Ungroup, GroupBy işlevine iletilen kayıtların özgün sırasını korumaya çalışır. Bu her zaman mümkün değildir (örneğin, özgün tablonun boş kayıtlar içermesi durumunda).

Power Apps'te tablo, tıpkı dize veya sayı gibi bir değerdir. Bir işlev için tabloyu bağımsız değişken olarak belirtebilirsiniz ve bir işlev bir tablo döndürebilir. 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. Daha fazla ayrıntı için bkz. tablolarla çalışma.

Not

3.24042 sürümünden önce Power Apps'te, sütun adları çift tırnak kullanılarak metin dizesiyle belirtilirdi ve bir veri kaynağına bağlıysa bunların ayrıca mantıksal adlar olması da gerekiyordu. Örneğin, çift tırnaklı "cr43e_name" mantıksal adı, tırnaklar olmadan Ad görünen adının yerine kullanılıyordu. Boşluklar bulunan sütun adlarını içeren SharePoint ve Excel veri kaynakları için her boşluk, "_x0020_" ile belirtilirdi: Örneğin, "Sütun Adı", "Sütun_x0020_Adı" olarak. Bu sürümden sonra tüm uygulamalar bu makalede açıklanan yeni sözdizimi şeklinde otomatik olarak güncelleştirildi.

Sözdizimi

GroupBy( Tablo, SütunAdı1 [, SütunAdı2, ... ], GrupSütunAdı )

  • Tablo: Gerekli. Gruplandırılacak tablo.
  • ColumnName(s) - Gerekli. Kayıtların gruplandırılması için kullanılacak Tablo içindeki sütun adları. Bu sütunlar sonuç olarak elde edilen tablodaki sütunları oluşturur.
  • GroupColumnName - Gerekli. SütunAdları içinde olmayan kayıt verilerinin depolama alanı için sütun adı.

Ungroup( Tablo, GrupSütunAdı )

  • Tablo: Gerekli. Grubu çözülecek tablo.
  • GroupColumnName - Gerekli. GroupBy işleviyle belirlenen kayıt verilerini içeren sütun.

Örnekler

Koleksiyon oluşturma

  1. Bir düğme ekleyin ve Text özelliğini düğmede Özgün yazacak şekilde ayarlayın.
  2. Özgün düğmesinin OnSelect özelliğini şu formül olarak ayarlayın:
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}
)
  1. Alt tuşunu basılı tutarak Özgün düğmesini seçin.

    Şu verileri içeren CityPopulations adlı bir koleksiyon oluşturdunuz:

    CityPopulations örneği.

  2. Bu koleksiyonu görüntülemek için Dosya menüsünden Koleksiyonlar'ı seçin ve ardından CityPopulations koleksiyonunu belirleyin. Koleksiyondaki ilk beş kayıt görünür:

    CityPopulations koleksiyonu.

Kayıtları gruplandırma

  1. Başka bir düğme ekleyin ve Text özelliğini "Group" olarak ayarlayın.

  2. Düğmenin OnSelect özelliğini şu formül olarak ayarlayın:

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

  3. Alt tuşunu basılı tutarak Grup düğmesini seçin.

    CitiesByCountry adlı bir koleksiyon oluşturdunuz ve önceki koleksiyonun kayıtlarını Country sütunuyla gruplandırarak eklediniz.

    Gruplanan şehirler.

  4. Bu koleksiyondaki ilk beş kaydı görüntülemek için Dosya menüsünden Koleksiyonlar'ı seçin.

    Ülkeye/bölgeye göre şehirler.

  5. Ülkedeki/bölgedeki şehirlerin nüfuslarını görüntülemek için ilgili ülkenin/bölgenin (örneğin, Almanya) Şehirler sütunundaki tablo simgesini seçin:

    Nüfus - Almanya.

Kayıtları filtreleme ve gruplarını çözme

  1. Başka bir düğme ekleyin ve Text özelliğini düğmede "Filter" yazacak şekilde ayarlayın.

  2. Düğmenin OnSelect özelliğini şu formül olarak ayarlayın:

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

  3. Alt tuşunu basılı tutarak, eklediğiniz düğmeyi seçin.

    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.

    CitiesByCountryFiltered.

  4. Bir düğme daha ekleyin ve Text özelliğini düğmede "Ungroup" yazacak şekilde ayarlayın.

  5. Düğmenin OnSelect özelliğini şu formül olarak ayarlayın:

    ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )

    Sonuç şu şekilde olur:

    Grubu çözdükten sonra ülkeye/bölgeye göre şehirler.

Sonuçları toplama

Gruplandırılmış tabloda gerçekleştirebileceğimiz başka bir işlem de sonuçları derlemektir. Bu örnekte, her ülke/bölgedeki büyük şehirlerin nüfuslarını toplayacağız.

  1. Başka bir düğme ekleyin ve Text özelliğini düğmede "Sum" yazacak şekilde ayarlayın.

  2. "Sum" düğmesinin OnSelect özelliğini şu formül olarak ayarlayın:

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

    Sonuç şu şekilde olur:

    Şehirler toplamı.

    AddColumnsCitiesByCountry koleksiyonuyla başlar ve Sum of City Populations sütununu ekler. Bu sütunların değerleri Sum( Cities, Population ) formülüyle satır satır hesaplanır. 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.

    İstediğimiz toplamı elde ettiğimize göre DropColumns işlevini kullanarak alt tabloları kaldırabiliriz.

  3. Başka bir düğme ekleyin ve Text özelliğini düğmede "SumOnly" yazacak şekilde ayarlayın.

  4. "SumOnly" düğmesinin OnSelect özelliğini şu formül olarak ayarlayın:

    ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities ) )

    Sonuç şu şekilde olur:

    Ülkeler toplamı.

    Bu tablonun grubunu çözmeye gerek kalmadığına dikkat edin.