Funkcijas GroupBy un Ungroup
Attiecas uz: Pamatnes programmām Modeļa vadītas programmas Power Pages
Grupē un atgrupē ierakstus no tabulas.
Apraksts
Funkcija GroupBy atgriež tabulu ar ierakstiem, kas grupēti kopā, pamatojoties uz vērtībām vienā vai vairākās kolonnās Ieraksti vienā un tajā pašā grupā tiek ievietoti vienā ierakstā, pievienojot kolonnu, kurā ir atlikušo kolonnu ligzdotā tabula.
Funkcija Ungroup atgriež funkcijas GroupBy procesu. Šī funkcija atgriež tabulu, atsevišķos ierakstos iedalot visus ierakstus, kuri bija grupēti kopā.
Ierakstus varat grupēt, izmantojot funkciju GroupBy, pārveidot tabulu, kuru tā atgriež, un pēc tam atgrupēt ierakstus pārveidotajā tabulā, izmantojot funkciju Ungroup. Piemēram, varat noņemt ierakstu grupu, ievērojot šo pieeju:
- Izmantojiet funkciju GroupBy.
- Izmantojiet Filter funkciju, lai noņemtu visu ierakstu grupu.
- Izmantojiet funkciju Ungroup.
Varat arī apkopot rezultātus, pamatojoties uz grupēšanu:
- Izmantojiet funkciju GroupBy.
- Izmantojiet funkciju AddColumns ar Sum,Average ... un citām apkopošanas funkcijām, lai pievienotu jaunu kolonnu, kas ir grupas tabulu apkopojums.
- Izmantojiet funkciju DropColumns, lai nomestu grupas tabulu.
Ungroup mēģina saglabāt to ierakstu sākotnējo secību, kas tika padoti funkcijai GroupBy. Tas nav vienmēr iespējams (piemēram, ja sākotnējā tabula satur tukšus ierakstus).
Tabula ir vērtība programmā Power Apps, gluži kā virkne vai skaitlis. Varat konkretizēt tabulu kā funkcijas argumentu, un funkcija var atgriezt tabulu. Funkcija GroupBy un Ungroup nemodificē tabulu; tā vietā viņi ņem tabulu kā argumentu un atgriež citu tabulu. Papildinformāciju skatiet tēmā Darbs ar tabulām
Piezīmes
Pirms Power Apps versijas 3.24042 kolonnu nosaukumi tika norādīti ar teksta virkni, izmantojot dubultās pēdiņas, un, ja tie ir savienoti ar datu avots, tiem bija jābūt arī loģiskiem nosaukumiem. Piemēram, parādāmā vārda vietā tika izmantots loģiskais nosaukums "cr43e_name" ar dubultām pēdiņām Vārds bez pēdiņām. Datu SharePoint avotiem Excel un Excel, kuros ir kolonnu nosaukumi ar atstarpēm, katra atstarpe tika norādīta ar "_x0020_", piemēram "Kolonnas nosaukums"kā" Column_x0020_Name". Pēc šīs versijas visas programmas tika automātiski atjauninātas uz jauno sintaksi, kas aprakstīta šajā rakstā.
Sintakse
GroupBy( Tabula,Kolonnas _nosaukums1 [, Kolonnas_nosaukums2, ... ], Grupēšanas_nosaukums)
- Tabula - Obligāts. Grupējamā tabula.
- ColumnNames - Obligāts. Kolonnu nosaukumi Tabulā, pēc kuriem grupēt ierakstus. Šīs kolonnas kļūst par kolonnām iegūtajā tabulā.
- GroupColumnName - Obligāts. Kolonnas nosaukums ieraksta datu glabāšanai nav ColumnNames(s).
Ungroup( Tabula,Grupas _nosaukums)
- Tabula - Obligāts. Atgrupējamā tabula.
- GroupColumnName - Obligāts. Kolonna, kas satur ieraksta datu iestatījumu ar funkciju GroupBy.
Piemēri
Kolekcijas izveide
- Pievienojiet pogu un iestatiet tās Teksta rekvizītu, lai poga rādītu Sākotnējā.
- Iestatiet pogas Sākotnējā rekvizītu OnSelect uz šo formulu:
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}
)
Turot nospiestu Alt taustiņu, atlasiet pogu Sākotnējā.
Jūs tikko izveidojāt kolekciju ar nosaukumu CityPopulations, kurā ir šādi dati:
Lai rādītu šo kolekciju, izvēlnē Fails atlasiet Kolekcijas un pēc tam atlasiet kolekciju CityPopulations. Tiek parādīti pirmie pieci kolekcijas ieraksti:
Ierakstu grupēšana
Pievienojiet citu pogu un iestatiet tās rekvizītu Teksts uz Grupēt.
Atlasiet šīs pogas rekvizītu OnSelect uz šo formulu:
ClearCollect( CitiesByCountry, GroupBy( CityPopulations, Country, Cities )
Turot nospiestu Alt taustiņu, atlasiet pogu Grupēt.
Jūs tikko izveidojāt kolekciju ar nosaukumu CitiesByCountry, kurā iepriekšējās kolekcijas ierakstus grupē kolonna Valsts.
Lai parādītu pirmos piecus šīs kolekcijas ierakstus, izvēlnē Fails atlasiet Kolekcijas.
Lai parādītu valsts/reģiona pilsētu iedzīvotāju skaitu, atlasiet tabulas ikonu kolonnā Pilsētas šai valstij/reģionam (piemēram, Vācijai):
Ierakstu filtrēšana un atgrupēšana
Pievienojiet citu pogu un iestatiet tās Teksta rekvizītu tā, lai poga rādītu Filtrēt.
Atlasiet šīs pogas rekvizītu OnSelect uz šo formulu:
ClearCollect( CitiesByCountryFiltered, Filter(CitiesByCountry, "e" in Country ) )
Turot nospiestu Alt taustiņu, atlasiet pievienoto pogu.
Jūs tikko izveidojāt trešo kolekciju ar nosaukumu CitiesByCountryFiltrered, kas ietver tikai tās valstis, kuru nosaukumā ir "e" (tātad, ne Spāniju un Itāliju).
Pievienojiet vēl vienu pogu un iestatiet tās Teksta rekvizītu tā, lai poga rādītu Atgrupēt.
Atlasiet šīs pogas rekvizītu OnSelect uz šo formulu:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )
Kas rezultējas:
Rezultātu apkopošana
Vēl viena darbība, ko mēs varam veikt uz grupētas tabulas, ir rezultātu apkopošana. Šajā piemērā mēs apkoposim katras valsts/reģiona lielāko pilsētu iedzīvotāju skaitu.
Pievienojiet citu pogu un iestatiet tās Teksta rekvizītu tā, lai poga rādītu Summēt.
Iestatiet pogas Summēt rekvizītu OnSelect uz šo formulu:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Pilsētu iedzīvotāju summa', Summa( Pilsētas, Iedzīvotāji ) ) )
Kas rezultējas:
AddColumns sākas ar bāzes kolekciju CitiesByCountry un pievieno jaunu kolonnu Pilsētu iedzīvotāju summa. Kolonnas vērtības aprēķina rindu pa rindai, pamatojoties uz formulu Sum( Cities, Population ). AddColumns nodrošina kolonnas Pilsētas (tabulas) vērtību katrai rindai, un funkcija Sum saskaita iedzīvotāju skaitu katrai šīs apakštabulas rindai.
Kad esam ieguvuši vēlamo summu, varam izmantot funkciju DropColumns, lai noņemtu apakštabulas.
Pievienojiet citu pogu un iestatiet tās Teksta rekvizītu tā, lai poga rādītu SumOnly.
Iestatiet pogas SumOnly rekvizītu OnSelect uz šo formulu:
ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities ) )
Kas rezultējas:
Ņemiet vērā, ka šo tabulu nevajag atgrupēt.