Funkciji »GroupBy« in »Ungroup« v rešitvi Power Apps
Združi in razdruži zapise tabele.
Opis
Funkcija GroupBy vrne tabelo z zapisi, združenimi v skupino na podlagi vrednosti v enem ali več stolpcih. Zapisi v isti skupini so umeščeni v en zapis, z dodanim stolpcem, ki drži ugnezdeno tabelo preostalih stolpcev.
Funkcija Ungroup razveljavi proces GroupBy. Ta funkcija vrne tabelo, pri čemer na ločene zapise loči vse zapise, ki so bili združeni v skupino.
Zapise lahko združite s funkcijo GroupBy, spremenite tabelo, ki jo vrne, nato pa razdružite zapise v spremenjeni tabeli s funkcijo Ungroup. Skupino zapisov lahko na primer odstranite po tem pristopu:
- Uporabite funkcijo GroupBy.
- Uporabite funkcijo Filter, da odstranite celotno skupino zapisov.
- Uporabite funkcijo Ungroup.
Lahko tudi združite rezultate na podlagi skupine:
- Uporabite funkcijo GroupBy.
- Uporabite funkcijo AddColumns s funkcijo Sum, Average in drugimi združevalnimi funkcijami, da dodate nov stolpec, ki je združek tabel skupine.
- Uporabite funkcijo DropColumns, da spustite tabelo skupine.
Ungroup poskuša ohraniti prvotni vrstni red zapisov, ki so bili dovedeni v GroupBy. To ni vedno mogoče (na primer, če prvotna tabela vsebuje zapise prazno).
Tabela je vrednost v rešitvi Power Apps, tako kot niz ali številka. Določite lahko tabelo kot argument za funkcijo in funkcija lahko vrne tabelo. Funkciji GroupBy in Ungroup tabele ne spremenita; vzameta jo kot argument in vrneta drugo tabelo. Za več informacij glejte delo s tabelami.
Sintaksa
GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName )
Table – obvezno. Tabela, ki jo je treba združiti.
ColumnName(s) – obvezno. Imena stolpcev v možnosti Table, po kateri se zapisi združijo. Ti stolpci postanejo stolpci v pridobljeni tabeli.
GroupColumnName – obvezno. Ime stolpca za shranjevanje podatkov zapisa ni v ColumnName(s).
Opomba
Za vire podatkov SharePoint in Excel, ki vsebujejo imena stolpcev s presledki, določite vsak presledek kot "_x0020_". Npr. določite »Column Name« kot »Column_x0020_Name«.
Ungroup( Table, GroupColumnName )
Table – obvezno. Tabela, ki jo je treba razdružiti.
GroupColumnName – obvezno. Stolpec, ki vsebuje nastavitev podatkov zapisa s funkcijo GroupBy.
Opomba
Za vire podatkov SharePoint in Excel, ki vsebujejo imena stolpcev s presledki, določite vsak presledek kot "_x0020_". Npr. določite »Column Name« kot »Column_x0020_Name«.
Primeri
Ustvarjanje zbirke
- Dodajte gumb in nastavite lastnost Besedilo zanj, tako da gumb prikazuje Prvotno.
- Nastavite lastnost OnSelect gumba Prvotno na to formulo:
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}
)
Medtem ko držite tipko Alt, izberite gumb Prvotno.
Pravkar ste ustvarili zbirko, imenovano CityPopulations, ki vsebuje te podatke:
Pravkar ste ustvarili zbirko, imenovano CityPopulations, ki vsebuje te podatke:

Če želite prikazati to zbirko, izberite Zbirke v meniju Datoteka in nato izberite zbirko CityPopulations. Prikaže se prvih pet zapisov v zbirki:

Združevanje zapisov
Dodajte še en gumb in nastavite njegovo lastnost Besedilo na "Group".
Nastavite lastnost OnSelect tega gumba na to formulo:
ClearCollect( CitiesByCountry, GroupBy( CityPopulations, "Country", "Cities" ) )
Medtem ko držite tipko Alt, izberite gumb Združi.
Pravkar ste ustvarili zbirko, imenovano CitiesByCountry, v kateri so zapisi prejšnje zbirke združeni po stolpcu Country.

Če želite prikazati prvih pet zapisov v tej zbirki, izberite Zbirke v meniju Datoteka.

Če želite prikazati populacije mest v državi, izberite ikono tabele v stolpcu Cities za to državo (na primer, Nemčija):

Filtriranje in razdruževanje zapisov
Dodajte še en gumb in nastavite lastnost Besedilo zanj, tako da gumb prikazuje "Filter".
Nastavite lastnost OnSelect tega gumba na to formulo:
ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" in Country ) )
Medtem ko držite tipko Alt, izberite gumb, ki ste ga dodali.
Pravkar ste ustvarili tretjo zbirko, imenovano CitiesByCountryFiltered, ki vključuje samo tiste države/regije, ki imajo v imenu »e« (torej ne Španija in Italija).

Dodajte še en gumb in nastavite lastnost Besedilo zanj, tako da gumb prikazuje "Ungroup".
Nastavite lastnost OnSelect tega gumba na to formulo:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, "Cities" ) )
Rezultat je:

Združeni rezultati
Z združeno tabelo lahko združimo tudi rezultate. V tem primeru bomo sešteli populacije večjih mest v vsaki državi.
Dodajte še en gumb in nastavite lastnost Besedilo zanj, tako da gumb prikazuje "Sum".
Nastavite lastnost OnSelect gumba "Sum" na to formulo:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, "Sum of City Populations", Sum( Cities, Population ) ) )
Rezultat je:

AddColumns se začne z osnovno zbirko CitiesByCountry in doda nov stolpec Sum of City Populations. Vrednosti tega stolpca so izračunane vrstica za vrstico na podlagi formule Sum( Cities, Population ). AddColumns zagotavlja vrednost stolpca Cities (tabela) za vsako vrstico in Sum sešteje možnost Population za vsako vrstico te podtabele.
Zdaj, ko imamo želeno vsoto, lahko uporabimo DropColumns za odstranjevanje podtabel.
Dodajte še en gumb in nastavite lastnost Besedilo zanj, tako da gumb prikazuje "SumOnly".
Nastavite lastnost OnSelect gumba "SumOnly" na to formulo:
ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, "Cities" ) )
Rezultat je:

Upoštevajte, da ni bilo treba razdružiti te tabele.
Opomba
Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)
Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).
Povratne informacije
Pošlji in prikaži povratne informacije za