Funktsioonid GroupBy ja Ungroup
Kehtib: lõuendirakendused Mudelipõhised rakendused Power Pages
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.
- Kasutage funktsiooni GroupBy.
- Kasutage funktsiooni AddColumns koos funktsiooniga Sum , Average ja muude kokkuvõttefunktsioonidega, et lisada uus veerg, mis on rühmatabelite liit.
- Kasutage funktsiooni DropColumns, et vähendada rühma tabelit.
Ungroup püüab säilitada GroupBy-le edastatud 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. GroupBy ja Ungroup ei muuda tabelit; selle asemel võtavad nad argumendiks tabeli ja tagastavad teise 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" . Pärast seda versiooni värskendati kõik rakendused automaatselt selles artiklis kirjeldatud uuele süntaksile.
Süntaks
GroupBy( Tabel; ColumnName1 [, ColumnName2, ... ], GroupColumnName )
- Tabel - nõutav. Rühmitatav tabel.
- ColumnNames - 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( Tabel; 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
- Lisage nupp, seadke selle atribuut Text nii, et nupul kuvatakse Original.
- 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}
)
Hoides all klahvi Alt, valige nupp Original.
Olete loonud kollekstiooni nimega CityPopulations, mis sisaldab neid andmeid:
Kollektsiooni kuvamiseks valige Kollektsioonid menüüs Fail ja seejärel valige kollektsioon CityPopulations . Kollektsiooni esimesed viis kirjet kuvatakse järgmiselt:
Kirjete rühm
Lisage veel üks nupp ja määrake selle Text atribuuduks "Group".
Valige sellele valemile selle nupu atribuut OnSelect:
ClearCollect( CitiesByCountry, GroupBy( CityPopulations, Country, Cities ) )
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.
Selle kollektsiooni esimese viie kirje kuvamiseks valige Kogumikud menüüs Fail.
Riigi/regiooni linnade populatsioonide kuvamiseks valige veerus Linnad vastava riigi/regiooni (nt Saksamaa) jaoks tabeliikoon.
Kirjete filtreerimine ja rühmitamise tühistamine
Lisage teine nupp, seadke selle atribuut Text nii, et nupul kuvatakse Filter.
Valige sellele valemile selle nupu atribuut OnSelect:
ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" in Country ) )
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).
Lisage veel üks nupp, seadke selle atribuut Text nii, et nupul kuvatakse Tühista rühmitus.
Valige sellele valemile selle nupu atribuut OnSelect:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities )
Mille tulemuseks on:
Tulemuste summeerimine
Teine toiming, mida saame grupeeritud tabelis teha, on tulemuste koostamine. Selles näites summeerime iga riigi/regiooni suuremate linnade rahvaarvu.
Lisage teine nupp, seadke selle atribuut Text nii, et nupul kuvatakse Summeeri.
Seadke atribuut OnSelect nupul Summeeri sellele valemile:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, ’Linnapopulatsioonide summa’, Sum( Linnad, Rahvaarv ) )
Mille tulemuseks on:
AddColumns algab baaskogumiga CitiesByCountry ja lisab uue veeru Linnapopulatsioonide summa. Selle veeru väärtused arvutatakse rida rea kaupa, lähtudes valemist Summa (Linnad, Rahvastik). AddColumns annab iga rea jaoks veeru Cities (tabeli) väärtuse ja Sum liidab selle alamtabeli iga rea populatsiooni .
Nüüd, kui meil on soovitud summa, saame kasutada funktsiooni DropColumns, et eemaldada alltabeleid.
Lisage teine nupp, seadke selle atribuut Text nii, et nupul kuvatakse SumOnly.
Seadke atribuut OnSelect nupul SumOnly sellele valemile:
ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities )
Mille tulemuseks on:
Pange tähele, et me ei pidanud selle tabeli rühmitamist tühistama.