Funkcijos GroupBy ir Išgrupuoti

Taikoma: drobės programoms Modeliu pagrįstoms programoms

Grupuoja ir išgrupuoja lentelėsįrašus.

Aprašą

Funkcija GroupBy pateikia lentelę su įrašais, sugrupuotais pagal reikšmes viename ar daugiau stulpelių. Tos pačios grupės įrašai padedami į vieną įrašą ir įtraukiamas stulpelis, kuriame laikoma įdėtoji likusių stulpelių lentelė.

Funkcija Ungroup apgręžia procesą GroupBy. Ši funkcija pateikia lentelę, kartu sugrupuotus įrašus išskaidydama į atskirus įrašus.

Galite sugrupuoti įrašus naudodami GroupBy, modifikuoti jos pateiktą lentelę, tada išgrupuoti modifikuotos lentelės įrašus naudodami Ungroup. Pavyzdžiui, galite pašalinti duomenų grupę naudodami tolesnį metodą.

  • Naudokite funkciją GroupBy.
  • Naudodami funkciją Filter, pašalinkite visą įrašų grupę.
  • Naudokite funkciją Ungroup.

Taip pat galite sujungti įrašus pagal grupavimą, kaip nurodyta toliau.

Ungroup bando išsaugoti pradinę įrašų, pateiktų funkcijai GroupBy, tvarką. Tai ne visada įmanoma (pavyzdžiui, jei pradinėje lentelėje yra tuščių įrašų).

Lentelė turi vertę „Power Apps”, kaip ir eilutė arba skaičius. Lentelę galite nurodyti kaip funkcijos argumentą ir funkcija gali pateikti lentelę. GroupBy ir Ungroup nemodifikuoja lentelės; vietoj to, jos paima lentelę kaip argumentą ir pateikia skirtingą lentelę. Norėdami sužinoti daugiau informacijos, peržiūrėkite Darbas su lentelėmis.

Pastaba.

Iki Power Apps 3.24042 versijos stulpelių pavadinimai buvo nurodyti teksto eilute, naudojant dvigubas kabutes, o jei jie buvo prijungti prie duomenų šaltinis jie taip pat turėjo būti loginiai pavadinimai. Pavyzdžiui, vietoj rodomo pavadinimo Vardas be kabučių buvo naudojamas loginis pavadinimas "cr43e_name" su dvigubomis kabutėmis. " SharePoint Excel" duomenų šaltiniuose, kuriuose yra stulpelių pavadinimai su tarpais, kiekvienas tarpas buvo nurodytas su "_x0020_", pvz., "Stulpelio pavadinimas"kaip"Column_x0020_Name". Afer šioje versijoje visos programos buvo automatiškai atnaujintos į naują sintaksę, aprašytą šiame straipsnyje.

Sintaksė

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

  • Table – būtina. Lentelė, kuri turi būti sugrupuota.
  • ColumnName(s) - Būtinas. Lentelės stulpelių pavadinimai, pagal kuriuos reikia grupuoti įrašus. Šie stulpeliai tampa gautos lentelės stulpeliais.
  • GroupColumnName – būtina. Stulpelio, kuriame saugomi įrašų duomenys, nesantys elemente ColumnName(s), pavadinimas.

Ungroup( Table, GroupColumnName )

  • Table – būtina. Lentelė, kuri turi būti išgrupuota.
  • GroupColumnName – būtina. Stulpelis, kuriame yra įrašų duomenų sąranka naudojant funkciją GroupBy.

Pavyzdžiai

Rinkinio kūrimas

  1. Įtraukite mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma Pradinė.
  2. Mygtuko Pradinė ypatybę OnSelect nustatykite kaip šią formulę:
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. Laikydami nuspaudę klavišą „Alt”, pasirinkite mygtuką Pradinė.

    Ką tik sukūrėte rinkinį pavadinimu MiestųGyventojųSkaičius, kuriame yra šie duomenys:

  2. Norėdami, kad būtų rodomas šis rinkinys, meniu Failas pasirinkite Rinkiniai, tada pasirinkite rinkinį MiestųGyventojųSkaičius. Rodomi pirmieji penki rinkinio įrašai:

    „CityPopulations“ rinkinys.

Įrašų grupavimas

  1. Įtraukite kitą mygtuką ir jo ypatybę Tekstas nustatykite kaip Grupė.

  2. Šio mygtuko ypatybę OnSelect nustatykite kaip šią formulę:

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

  3. Laikydami nuspaudę klavišą „Alt”, pasirinkite mygtuką Grupė.

    Ką tik sukūrėte rinkinį pavadinimu MiestaiPagalŠalį, kuriame ankstesnio rinkinio įrašai sugrupuoti pagal stulpelį Šalis.

    Sugrupuoti atsiliepimai.

  4. Norėdami, kad būtų rodomi pirmieji penki šio rinkinio įrašai, meniu Failas pasirinkite Rinkiniai.

    Miestai pagal šalį / regioną.

  5. Norėdami rodyti šalies / regiono miestų populiacijas, stulpelyje Miestai pasirinkite tos šalies / regiono (pvz., Vokietijos) lentelės piktogramą :

    Populiacija – Vokietija.

Įrašų filtravimas ir išgrupavimas

  1. Įtraukite dar vieną mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma Filtruoti.

  2. Šio mygtuko ypatybę OnSelect nustatykite kaip šią formulę:

    ClearCollect( FiltruotiMiestaiPagalŠalį, Filter( MiestaiPagalŠalį, "e" in Šalis ) )

  3. Laikydami nuspaudę klavišą „Alt”, pasirinkite įtrauktą mygtuką.

    Ką tik sukūrėte trečią rinkinį pavadinimu FiltruotiMiestaiPagalŠalį, kuriame yra tik tos šalys, kurių pavadinime yra „e“ (t. y., ne Ispanija ar Italija).

    Filtruoti miestai pagal šalį.

  4. Įtraukite dar vieną mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma Išgrupuoti.

  5. Šio mygtuko ypatybę OnSelect nustatykite kaip šią formulę:

    ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )

    Taip gaunama:

    Miestai pagal šalį / regioną po išgrupavimo.

Rezultatų jungimas

Kita operacija, kurią galime atlikti sugrupuotoje lentelėje, yra rezultatų kompiliavimas. Šiame pavyzdyje susumuosime kiekvienos šalies / regiono didžiųjų miestų gyventojų skaičių.

  1. Įtraukite dar vieną mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma Sumuoti.

  2. Mygtuko Sumuoti ypatybę OnSelect nustatykite kaip šią formulę:

    ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Miestų gyventojų suma', Suma( miestai, gyventojų skaičius ) )

    Taip gaunama:

    Bendra suma.

    AddColumns pradeda nuo pagrindinio rinkinio CitiesByCountry ir įtraukia naują stulpelį Miestų gyventojų skaičiaus suma. Šio stulpelio reikšmės apskaičiuojamos eilutė po eilutės, remiantis formule Sum ( Miestai, Gyventojų skaičius ). AddColumns pateikia kiekvienos eilutės stulpelio (lentelės) Miestai reikšmę, o Sum sudeda kiekvienos šioje antrinėje lentelėje esančios eilutės gyventojų skaičių.

    Kadangi jau turime norimą sumą, naudodami DropColumns galime išmesti antrines lenteles.

  3. Įtraukite dar vieną mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma TikSumuoti.

  4. Mygtuko TikSumuoti ypatybę OnSelect nustatykite kaip šią formulę:

    ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities ) )

    Taip gaunama:

    Šalių suma.

    Atkreipkite dėmesį, kad šios lentelės nereikėjo išgrupuoti.