Deli putem


GroupBy i Ungroup funkcije

Odnosi se na: Canvas aplikacije Aplikacije zasnovane na modelu Power Pages

Grupisani i razgrupisani zapisi iz tabele.

Opis

Funkcija GroupBy vraća tabelu sa zapisima grupiranim na osnovu vrednosti u jednoj ili više kolona. Zapisi iz iste grupe smeštaju se u jedan zapis, sa dodatnom kolonom koja sadrži ugnežđenu tabelu preostalih kolona.

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

Možete grupisati zapise koristeći GroupBy, izmenite tabelu koju vrati, a zatim razgrupišite zapise u izmenjenoj tabeli koristeći Ungroup. Na primer, možete da uklonite grupu zapisa sledeći ovaj pristup:

  • Koristite funkciju GroupBy.
  • Koristite funkciju Filter za uklanjanje cele grupe zapisa.
  • Koristite funkciju Ungroup.

Takođe možete da objedinite rezultate na osnovu grupisanja:

  • Koristite funkciju GroupBy.
  • Koristite funkciju AddColumns sa Sum, Average i drugim agregatnim funkcijama da biste dodali novu kolonu, koja je agregat grupnih tabela.
  • Koristite funkciju DropColumns za otpuštanje grupne tablice.

Ungroup pokušava da sačuva prvobitni redosled zapisa koji su ubačeni u GroupBy. To nije uvek moguće (na primer, ako originalna tabela sadrži prazne zapise).

Tabela je vrednost u Power Apps, baš kao niska ili broj. Možete odrediti tabelu kao argument funkcije, a funkcija može da vrati tabelu. GroupBy i Ungroup ne modifikuju tabelu; umesto toga uzimaju tabelu kao argument i vraćaju drugu tabelu. Za više detalja pogledajte rad sa tabelama.

Belešku

U Power Apps prethodnoj verziji 3.24042, imena kolona su specificirana tekstualnim nizom koristeći dvostruke navodnike, a ako su povezana sa izvor podataka takođe su morala da budu logička imena. Na primer, logičko ime "cr43e_name" sa dvostrukim navodnicima je korišćeno umesto ime za prikaz Ime bez navodnika. Za SharePoint i Ekcel izvore podataka koji sadrže imena kolona sa razmacima, svaki prostor je naveden sa "_x0020_", na primer "Ime kolone" kao "Column_x0020_Name". Nakon ove verzije, sve aplikacije su automatski ažurirane na novu sintaksu opisanu u ovom članku.

Sintaksa

GroupBi(Tabela,ColumnName1 [, ColumnName2 , ... ],GroupColumnName)

  • Tabela - Obavezno. Tabela za grupisanje.
  • ColumnNames - Obavezno. Imena kolona u tabeli po kojima se grupišu zapisi. Ove kolone postaju kolone u rezultirajućoj tabeli.
  • GroupColumnName- Obavezno. Naziv kolone za čuvanje podataka o zapisu koji nije u ColumnName(s).

Ungroup(Tabela,GroupColumnName )

  • Tabela - Obavezno. Tabela za razgrupisanje.
  • GroupColumnName- Obavezno. Kolona koja sadrži podešavanje podataka o zapisu sa funkcijom GroupBy.

Primeri

Kreirajte kolekciju

  1. Dodajte dugme i podesite njegovo svojstvo Text tako da dugme prikazuje Originalno.
  2. Podesite svojstvo OnSelect dugmeta Original prema ovoj formuli:
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. Dok držite taster Alt pritisnutim, izaberite dugme Original.

    Upravo ste kreirali kolekciju, nazvanu CityPopulations, koja sadrži ove podatke:

    CitiPopulations primer.

  2. Da biste prikazali ovu kolekciju, izaberite Kolekcije iz menija Datoteka, a zatim izaberite kolekciju CityPopulations. Pojavljuje se prvih pet zapisa u kolekciji:

    Kolekcija CityPopulations.

Grupisanje zapisa

  1. Dodajte još jedno dugme i podesite njegovo svojstvo Text na „Grupa“.

  2. Podesite svojstvo OnSelect ovog dugmeta prema ovoj formuli:

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

  3. Dok držite taster Alt pritisnutim, izaberite dugme Group.

    Upravo ste kreirali kolekciju po imenu CitiesByCountry, u kojoj su zapisi iz prethodne kolekcije grupisani po koloni Country.

    Grupisani gradovi.

  4. Da biste prikazali prvih pet zapisa u ovoj kolekciji, izaberite Collections iz menija Datoteka.

    Gradovi po zemljama / regionima.

  5. Da biste prikazali populaciju gradova u zemlji / regionu, izaberite ikonu tabele u koloni Gradovi za tu zemlju / region (na primer, Nemačka):

    Stanovništvo – Nemačka.

Filtriranje i razgrupisanje zapisa

  1. Dodajte još jedno dugme i podesite njegovo svojstvo Text tako da dugme prikazuje „Filter“.

  2. Podesite svojstvo OnSelect ovog dugmeta prema ovoj formuli:

    ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" u zemlji ) )

  3. Dok držite taster Alt pritisnutim, izaberite dugme koje ste dodali.

    Upravo ste kreirali treću kolekciju, pod nazivom CitiesByCountryFiltered, koja sadrži samo one zemlje koje u svom imenu imaju „e“ (to jest, ne Španija ili Italija).

    CitiesByCountryFiltered.

  4. Dodajte još jedno dugme i podesite njegovo svojstvo Text tako da dugme prikazuje „Ungroup“.

  5. Podesite svojstvo OnSelect ovog dugmeta prema ovoj formuli:

    ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities )

    Koji rezultira u:

    Gradovi po zemljama/regionima nakon razgraničenja.

Objedinjeni rezultati

Još jedna operacija koju možemo izvršiti na grupisanoj tabeli je kompilacija rezultata. U ovom primeru, mi ćemo sumirati stanovništvo većih gradova u svakoj zemlji / regionu.

  1. Dodajte još jedno dugme i podesite njegovo svojstvo Text tako da dugme prikazuje „Zbir“.

  2. Podesite svojstvo OnSelect dugmeta „Zbir“ prema ovoj formuli:

    ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Zbir gradskih populacija', Sum( Gradovi, Stanovništvo ) ) )

    Koji rezultira u:

    Zbir gradova.

    AddColumns počinje sa osnovnom kolekcijom CitiesBiCountri i dodaje novu kolonu Zbir gradskih populacija. Vrednosti ove kolone izračunavaju se red po red na osnovu formule Sum( Cities, Population ). AddColumns obezbeđuje vrednost kolone Gradovi (tabela) za svaki red, a Sum dodaje stanovništvo za svaki red ove podtabele.

    Sada kada imamo zbir koji želimo, možemo da koristimo DropColumns da biste uklonili pod tabele.

  3. Dodajte još jedno dugme i podesite njegovo svojstvo Text tako da dugme prikazuje „SumOnly“.

  4. Podesite svojstvo OnSelect dugmeta „SumOnly“ prema ovoj formuli:

    ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities )

    Koji rezultira u:

    Zbir zemalja.

    Imajte na umu da nismo morali da razgrupišemo ovu tabelu.