Funkcije GroupBy i Ungroup u aplikaciji Power Apps

Grupira i razgrupira zapise neke tablice.

Opis

Funkcija GroupBy vraća tablicu sa zapisima grupiranim na temelju vrijednosti u jednoj ili više stupaca. Zapisi u istoj grupi smještaju se u jedan zapis, s dodatnim stupcem koji sadrži ugniježđenu tablicu preostalih stupaca.

Funkcija Ungroup preokreće proces GroupBy. Ova funkcija vraća tablicu, razbijajući u zasebne zapise sve zapise koji su bili grupirani zajedno.

Možete grupirati zapise koristeći GroupBy, izmijenite tablicu koju vraća i zatim razgrupirajte zapise u izmijenjenu tablicu koristeći Ungroup. Na primjer, možete ukloniti grupu zapisa slijedeći ovaj pristup:

  • Koristite funkciju GroupBy.
  • Upotrijebite funkciju Filter kako biste uklonili cijelu grupu zapisa.
  • Koristite funkciju Ungroup.

Također, možete zbrojiti rezultate na temelju grupiranja:

  • Koristite funkciju GroupBy.
  • Upotrijebite funkciju AddColumns sa Sum, Average i drugim funkcijama zbrajanja kako biste dodali novi stupac koji zbraja grupne tablice.
  • Upotrijebite funkciju DropColumns kako biste ispustili grupnu tablicu.

Ungroup pokušava sačuvati izvorni redoslijed zapisa koji su uneseni u GroupBy. To nije uvijek moguće (na primjer, ako originalna tablica sadrži zapise prazno).

Tablica predstavlja jednu vrijednost u aplikaciji Power Apps, baš poput nekog niza ili broja. Možete odrediti tablicu kao argument neke funkcije, a funkcija može vratiti tablicu. Funkcije GroupBy i Ungroup ne mijenjaju tablicu; umjesto toga uzimaju tablicu kao argument i vraćaju drugačiju tablicu. Dodatne informacije potražite u odjeljku rad s tablicama.

Sintaksa

GroupBy( tablica, naziv stupca 1 [, naziv stupca 2, ... ], naziv grupnog stupca )

  • Tablica – Required. Tablica koju treba grupirati.

  • ColumnName – Required. Nazivi stupaca u Tablica kojima se grupiraju zapisi. Ti stupci postaju stupci u rezultirajućoj tablici.

  • Naziv grupnog stupca – Required. Naziv stupca za pohranu podataka o zapisu koji nije u naziv(ima) stupca.

    Napomena

    U slučaju SharePoint i Excel izvora podataka koji sadrže nazive stupaca s razmacima, svaki razmak navedite kao "_x0020_". Na primjer, navedite "Column Name" kao "Column_x0020_Name".

Ungroup( tablica, naziv grupnog stupca )

  • Tablica – Required. Tablica koju treba razgrupirati.

  • Naziv grupnog stupca – Required. Stupac koji sadrži postavke podataka o zapisu s funkcijom GroupBy.

    Napomena

    U slučaju SharePoint i Excel izvora podataka koji sadrže nazive stupaca s razmacima, svaki razmak navedite kao "_x0020_". Na primjer, navedite "Column Name" kao "Column_x0020_Name".

Primjeri

Stvaranje zbirke

  1. Dodajte gumb i postavite njegovo svojstvo Text tako da gumb prikazuje Original.
  2. Postavite svojstvo OnSelect gumba Original na ovu formulu:
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. Odaberite gumb Original dok držite pritisnutu tipku Alt.

    Upravo ste stvorili zbirku, nazvanu CityPopulations, koja sadrži sljedeće podatke:

    Upravo ste stvorili zbirku pod nazivom CityPopulations koja sadrži ove podatke: Primjer CityPopulations.

  2. Da biste prikazali ovu zbirku, odaberite mogućnost Zbirke u izborniku Datoteka, a zatim odaberite zbirku CityPopulations. Pojavljuje se prvih pet zapisa u zbirci:

    Zbirka CityPopulations.

Grupiranje zapisa

  1. Dodajte još jedan gumb i postavite njegovo svojstvo Text na „Group”.

  2. Postavite svojstvo OnSelect ovog gumba na sljedeću formulu:

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

  3. Odaberite gumb Group dok držite pritisnutu tipku Alt.

    Upravo ste stvorili zbirku, nazvanu CitiesByCountry, u kojoj su zapisi iz prethodne zbirke grupirani prema stupcu Country.

    Grupirani gradovi.

  4. Za prikaz prvih pet zapisa u ovoj zbirci, odaberite mogućnost Zbirke u izborniku Datoteka.

    Gradovi prema zemlji.

  5. Za prikaz populacije gradova u nekoj zemlji, odaberite ikonu tablice u stupcu Gradovi za tu zemlju (npr. Njemačka):

    Stanovništvo – Njemačka.

Filtriranje i razgrupiranje zapisa

  1. Dodajte još jedan gumb i postavite njegovo svojstvo Text tako da gumb prikazuje „Filter”.

  2. Postavite svojstvo OnSelect ovog gumba na sljedeću formulu:

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

  3. Odaberite gumb koji ste dodali dok držite pritisnutu tipku Alt.

    Upravo ste stvorili treću zbirku, nazvanu CitiesByCountryFiltered, koja sadrži samo one zemlje koje u svom nazivu imaju „e” (dakle, ne Španjolska ili Italija).

    CitiesByCountryFiltered.

  4. Dodajte još jedan gumb i postavite njegovo svojstvo Text tako da gumb prikazuje „Ungroup”.

  5. Postavite svojstvo OnSelect ovog gumba na sljedeću formulu:

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

    To daje sljedeći rezultat:

    Gradovi prema zemlji nakon razgrupiravanja.

Zbrajanje rezultata

Ono što još možemo učiniti s grupiranom tablicom jest zbrajanje rezultata. U ovom ćemo primjeru sažeti broj stanovnika većih gradova u svakoj zemlji.

  1. Dodajte još jedan gumb i postavite njegovo svojstvo Text tako da gumb prikazuje „Sum”.

  2. Postavite svojstvo OnSelect gumba Sum na ovu formulu:

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

    To daje sljedeći rezultat:

    Zbroj gradova.

    AddColumns započinje osnovnom zbirkom CitiesByCountry i dodaje novi stupac Sum of City Populations. Vrijednosti ovog stupca izračunavaju se redak po redak formulom Sum( Cities, Population ). AddColumns pruža vrijednost stupca Cities (tablica) za svaki redak i Sum dodaje Population za svaki redak ove podtablice.

    Sada kada imamo sumu koju želimo, možemo iskoristiti DropColumns kako bismo uklonili podtablice.

  3. Dodajte još jedan gumb i postavite njegovo svojstvo Text tako da gumb prikazuje „SumOnly”.

  4. Postavite svojstvo OnSelect gumba „SumOnly” na ovu formulu:

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

    To daje sljedeći rezultat:

    Zbroj zemalja.

    Imajte na umu da nismo morali razgrupirati ovu tablicu.