Jagamisviis:


Funktsioonid GroupBy ja Ungroup

Kehtib: lõuendirakendused Mudelipõhised rakendused

Rühmitab kirjed ja tühistab rühmituse tabelis.

Kirjeldus

Funktsioon GroupBy tagastab tabeli koos kirjetega, mis on rühmitatud ühe või mitme veeru väärtuste alusel. Samasse rühma kuuluvad kirjed paigutatakse ühte kirjesse, millele lisatakse veerg, mis sisaldab allesjäänud veergude pesastatud tabelit.

Funktsioon Ungroup tühistab funktsiooni GroupBy protsessi. See funktsioon tagastab tabeli, eraldades eraldi kirjetesse kõik rühmitatud kirjed.

Kirjete rühmitamiseks saate kasutada funktsiooni GroupBy, muuta tagastatavat tabelit ja seejärel tühistada kirjete rühmitamine muudetud tabelis, kasutades funktsiooni Ungroup. Näiteks saate eemaldada kirjete rühma, järgides seda lähenemist.

  • Kasutage funktsiooni GroupBy.
  • Kasutage funktsiooni Filter, et eemaldada terve kirjete rühm.
  • Kasutage funktsiooni Ungroup.

Samuti saate rühmitatud tulemusi summeerida.

Ungroup proovib säilitada funktsioonile GroupBy etteantud kirjete algset järjestust. See pole alati võimalik (näiteks juhul, kui algne tabel sisaldab tühjekirjeid).

Tabel on väärtus Power Appsis, just nagu string või arv. Saate tabeli funktsioonile argumendina määrata ja funktsioon saab tagastada tabeli. Funktsioonid GroupBy ja Tühista rühmitamine ei muuda tabelit; selle asemel võtavad nad tabelit argumendina ja tagastavad teistsuguse tabeli. Lisateavet leiate teemast tabelitega töötamine.

Märkus.

Enne Power Apps versiooni 3.24042 määrati veergude nimed tekstistringiga topeltjutumärkide abil ja kui need olid ühendatud andmeallikas-ga, pidid need olema ka loogilised nimed. Näiteks kasutati kuvatava nime asemel loogilist nime "cr43e_name" topeltjutumärkidega Nimi ilma jutumärkideta. Tühikutega veerunimesid sisaldavate ja Exceli andmeallikate puhul SharePoint määrati igale tühikule "_x0020_" , näiteks "Veeru nimi" kui"Column_x0020_Name" . Selle versiooni järel värskendati kõik rakendused automaatselt selles artiklis kirjeldatud uuele süntaksile.

Süntaks

GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName )

  • Tabel – nõutav. Rühmitatav tabel.
  • ColumnName(s) - Nõutav. Tabeli veergude nimed, mille järgi soovite kirjeid rühmitada. Need veerud muutuvad veergudeks tulemuseks olevas tabelis.
  • GroupColumnName – nõutav. Kirje andmete talletamise veeru nimi pole ColumnNamesis.

Ungroup( Table, GroupColumnName )

  • Tabel – nõutav. Tabel, kus tühistatakse rühmitus.
  • GroupColumnName – nõutav. Veerg, mis sisaldab kirje andmete seadistust funktsiooniga GroupBy.

Näited

Kogu loomine

  1. Lisage nupp, seadke selle atribuut Text nii, et nupul kuvatakse Original.
  2. Seadke atribuut OnSelect nupul Original sellele valemile:
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. Hoides all klahvi Alt, valige nupp Original.

    Olete loonud kollekstiooni nimega CityPopulations, mis sisaldab neid andmeid:

    CityPopulations näide.

  2. Kollektsiooni kuvamiseks valige Kollektsioonid menüüs Fail ja seejärel valige kollektsioon CityPopulations . Kollektsiooni esimesed viis kirjet kuvatakse järgmiselt:

    Kogum CityPopulations.

Kirjete rühm

  1. Lisage veel üks nupp ja määrake selle Text atribuuduks "Group".

  2. Valige sellele valemile selle nupu atribuut OnSelect:

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

  3. Hoides all klahvi Alt key valige nupp Group.

    Lõite just kollektsiooni nimega CitiesByCountry, kus eelmise kollektsiooni kirjed on rühmitatud veeru Riik järgi.

    Linnad on rühmitatud.

  4. Selle kollektsiooni esimese viie kirje kuvamiseks valige Kogumikud menüüs Fail.

    Linnad riigiti/regiooni järgi.

  5. Riigi/regiooni linnade populatsioonide kuvamiseks valige veerus Linnad vastava riigi/regiooni (nt Saksamaa) jaoks tabeliikoon.

    Rahvastik – Saksamaa.

Kirjete filtreerimine ja rühmitamise tühistamine

  1. Lisage teine nupp, seadke selle atribuut Text nii, et nupul kuvatakse Filter.

  2. Valige sellele valemile selle nupu atribuut OnSelect:

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

  3. Hoides all klahvi Alt, valige nupp, mille te lisasite.

    Olete just loonud kolmanda kollektsiooni nimega CitiesByCountryFiltered, mis hõlmab ainult neid riike, millel on nimes "e" (st mitte Hispaania või Itaalia).

    LinnadRiigiJärgiFiltreeritud.

  4. Lisage veel üks nupp, seadke selle atribuut Text nii, et nupul kuvatakse Tühista rühmitus.

  5. Valige sellele valemile selle nupu atribuut OnSelect:

    ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities )

    Mille tulemuseks on:

    Linnad riigi/regiooni järgi pärast rühmituse tühistamist.

Tulemuste summeerimine

Teine toiming, mida saame grupeeritud tabelis teha, on tulemuste koostamine. Selles näites summeerime iga riigi/regiooni suuremate linnade rahvaarvu.

  1. Lisage teine nupp, seadke selle atribuut Text nii, et nupul kuvatakse Summeeri.

  2. Seadke atribuut OnSelect nupul Summeeri sellele valemile:

    ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, ’Linnapopulatsioonide summa’, Sum( Linnad, Rahvaarv ) )

    Mille tulemuseks on:

    Linnade summa.

    Funktsioon AddColumns algab põhikogumiga CitiesByCountry ja lisab uue veeru Linna elanike summa. Selle veeru väärtused arvutatakse rida rea kaupa, lähtudes valemist Summa (Linnad, Rahvastik). AddColumns annab Cities veeru (tabel) igale reale väärtuse ja Sum liidab selle alltabeli kõikide ridade Rahvastiku.

    Nüüd, kui meil on soovitud summa, saame kasutada funktsiooni DropColumns, et eemaldada alltabeleid.

  3. Lisage teine nupp, seadke selle atribuut Text nii, et nupul kuvatakse SumOnly.

  4. Seadke atribuut OnSelect nupul SumOnly sellele valemile:

    ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities )

    Mille tulemuseks on:

    Riikide summa.

    Pange tähele, et me ei pidanud selle tabeli rühmitamist tühistama.