Funkcijos GroupBy ir Išgrupuoti
Taikoma: drobės programoms Modeliu pagrįstoms programoms Power Pages
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.
- Naudokite funkciją GroupBy.
- Naudokite funkciją AddColumns su sumos sumos, vidurkio ir kitomis agregavimo funkcijomis, kad įtrauktumėte naują stulpelį, kuris yra grupės lentelių agreguotas rodiklis.
- Naudodami funkciją DropColumns, išmeskite grupės lentelę.
Ungroup bando išsaugoti pradinę įrašų, kurie buvo pateikti 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 jie paima lentelę kaip argumentą ir pateikia kitą 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". Po šios versijos visos programos buvo automatiškai atnaujintos į naują sintaksę, aprašytą šiame straipsnyje.
Sintaksė
GroupBy( lentelė,columnName1 [, ColumnName2, ... ], GroupColumnName)
- Lentelė - būtina. Lentelė, kuri turi būti sugrupuota.
- ColumnNames - būtina. 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( lentelė,GroupColumnName )
- Lentelė - 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
- Įtraukite mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma Pradinė.
- 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}
)
Laikydami nuspaudę klavišą „Alt”, pasirinkite mygtuką Pradinė.
Ką tik sukūrėte rinkinį pavadinimu MiestųGyventojųSkaičius, kuriame yra šie duomenys:
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:
Įrašų grupavimas
Įtraukite kitą mygtuką ir jo ypatybę Tekstas nustatykite kaip Grupė.
Šio mygtuko ypatybę OnSelect nustatykite kaip šią formulę:
ClearCollect( CitiesByCountry, GroupBy( CityPopulations, Country, Cities ) )
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.
Norėdami, kad būtų rodomi pirmieji penki šio rinkinio įrašai, meniu Failas pasirinkite Rinkiniai.
Norėdami rodyti šalies / regiono miestų populiacijas, stulpelyje Miestai pasirinkite tos šalies / regiono (pvz., Vokietijos) lentelės piktogramą :
Įrašų filtravimas ir išgrupavimas
Įtraukite dar vieną mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma Filtruoti.
Šio mygtuko ypatybę OnSelect nustatykite kaip šią formulę:
ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" šalyje )
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).
Įtraukite dar vieną mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma Išgrupuoti.
Šio mygtuko ypatybę OnSelect nustatykite kaip šią formulę:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )
Taip gaunama:
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ų.
Įtraukite dar vieną mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma Sumuoti.
Mygtuko Sumuoti ypatybę OnSelect nustatykite kaip šią formulę:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Miestų gyventojų suma', Suma( miestai, gyventojų skaičius ) )
Taip gaunama:
"AddColumns" prasideda nuo pagrindinės "CitiesByCountry" kolekcijos ir prideda naują stulpelį "Miesto gyventojų 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 Miestai (lentelės) reikšmę , o "Sum" susumuoja kiekvienos šios antrinės lentelės eilutės populiaciją .
Kadangi jau turime norimą sumą, naudodami DropColumns galime išmesti antrines lenteles.
Įtraukite dar vieną mygtuką ir jo ypatybę Tekstas nustatykite taip, kad ant mygtuko būtų rodoma TikSumuoti.
Mygtuko TikSumuoti ypatybę OnSelect nustatykite kaip šią formulę:
ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities ) )
Taip gaunama:
Atkreipkite dėmesį, kad šios lentelės nereikėjo išgrupuoti.