Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
| Function | S'aplica a |
|---|---|
| GroupBy |
|
| Ungroup |
|
Agrupa i desagrupa els registres d'una taula.
Descripció
La GroupBy funció retorna una taula amb registres agrupats en funció dels valors d'una o més columnes. Els registres del mateix grup es col·loquen en un únic registre, amb una columna afegida que conté una taula imbricada de les columnes restants.
La Ungroup funció inverteix el GroupBy procés. Aquesta funció torna una taula, separant en registres independents tots els registres que s'havien agrupat.
Podeu agrupar registres mitjançant GroupByel , modificar la taula que retorna i, a continuació, desagrupar els registres de la taula modificada mitjançant Ungroupel . Per exemple, podeu suprimir un grup de registres seguint aquest enfocament:
- Utilitzeu la GroupBy funció.
- Utilitzeu la funció Filter per suprimir tot el grup de registres.
- Utilitzeu la Ungroup funció.
També podeu afegir resultats en funció d'una agrupació:
- Utilitzeu la GroupBy funció.
- Utilitzeu la funció AddColumns amb Sum,Average... i altres funcions agregades per afegir una columna nova, que és un agregat de les taules de grup.
- Utilitzeu la funció DropColumns per suprimir la taula del grup.
Ungroup intenta preservar l'ordre original dels registres que es van alimentar a GroupBy. Això no sempre és possible (per exemple, si la taula original conté registres en blanc).
Una taula és un valor del Power Apps, igual que una cadena o un número. Podeu especificar una taula com a argument per una funció i una funció pot retornar una taula. GroupBy i Ungroup no modifiquen una taula; en lloc d'això, prenen una taula com a argument i retornen una taula diferent. Vegeu Treballar amb taules per obtenir més informació.
Nota
Abans Power Apps de la versió 3.24042, els noms de columna s'especificaven amb una cadena de text entre cometes dobles, i si es connectaven a un font de dades també havien de ser noms lògics. Per exemple, es va utilitzar el nom lògic "cr43e_name" amb cometes dobles en lloc del nom de visualització Nom sense cometes. Per a SharePoint les fonts de dades de l'Excel que contenen noms de columna amb espais, cada espai s'ha especificat amb "_x0020_", per exemple "Nom de columna" Column_x0020_Name ". Després d'aquesta versió, totes les aplicacions s'actualitzaven automàticament a la nova sintaxi descrita en aquest article.
Sintaxi
GroupBy( Taula, NomColumna1 [, NomColumna2, ... ], NomColumnaGrup )
- Taula : obligatòria. Taula que s'agruparà.
- ColumnNames : obligatori. Els noms de columna de Taula pels quals agrupeu els registres. Aquestes columnes es converteixen en columnes a la taula resultant.
- GroupColumnName : obligatori. Nom de columna per a l'emmagatzematge de dades de registre que no formen part de ColumnName.
Ungroup( Taula, GroupColumnName )
- Taula : obligatòria. Taula que es desagruparà.
- GroupColumnName : obligatori. La columna que conté la configuració de les dades del registre amb la GroupBy funció.
Exemples
Crear una col·lecció
- Afegiu un botó i definiu la propietat Text per tal que el botó mostri Original.
- Definiu la propietat OnSelect del botó Original a aquesta fórmula:
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}
)
Mentre manteniu premuda la tecla Alt, seleccioneu el botó Original.
Acabeu de crear una col·lecció, anomenada CityPopulations, que conté aquestes dades:
Per visualitzar aquesta col·lecció, seleccioneu Col·leccions al menú Fitxer i, a continuació, seleccioneu la col·lecció CityPopulations. Apareixen els primers cinc registres de la col·lecció:
Agrupar registres
Afegiu un altre botó i definiu-ne la propietat Text a aquesta "Agrupa".
Definiu la propietat OnSelect d'aquest botó a aquesta fórmula:
ClearCollect( CitiesByCountry, GroupBy( CityPopulations, Country, Cities ) )
Mentre manteniu premuda la tecla Alt, seleccioneu el botó Agrupa.
Acabeu de crear una col·lecció, anomenada CitiesByCountry, en què els registres de la col·lecció anterior s'agrupen per la columna País.
Per visualitzar els primers cinc registres d'aquesta col·lecció, seleccioneu Col·leccions al menú Fitxer.
Per mostrar la població de les ciutats d'un país o regió, seleccioneu la icona de taula a la columna Ciutats d'aquest país o regió (per exemple, Alemanya):
Filtrar i desagrupar registres
Afegiu un altre botó i definiu la propietat Text per tal que el botó mostri Filtra.
Definiu la propietat OnSelect d'aquest botó a aquesta fórmula:
ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" al país ) )
Mentre manteniu premuda la tecla Alt, seleccioneu el botó que heu afegit.
Acabeu de crear una tercera col·lecció, anomenada CitiesByCountryFiltered, que només inclou els països que tenen una "e" en els seus noms (és a dir, ni França ni Itàlia).
Afegiu un botó més i establiu la propietat Text de manera que el botó mostri "Ungroup".
Definiu la propietat OnSelect d'aquest botó a aquesta fórmula:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )
Que resulta en:
Resultats agregats
Una altra operació que podem realitzar en una taula agrupada és compilar els resultats. En aquest exemple, sumarem la població de les principals ciutats de cada país o regió.
Afegiu un altre botó i definiu la propietat Text per tal que el botó mostri Suma.
Definiu la propietat OnSelect del botó "Suma" a aquesta fórmula:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Suma de poblacions de ciutats', Sum( Ciutats, Població ) ) )
Que resulta en:
AddColumns comença amb la col·lecció base CitiesByCountry i afegeix una nova columna Sum of City Populations. Els valors d'aquesta columna es calculen fila per fila, segons la fórmula Sum( Ciutats, Població ). AddColumns proporciona el valor de la columna Cities (una taula) per a cada fila, i Sum suma la població per a cada fila d'aquesta subtaula.
Ara que tenim la suma que volem, podem utilitzar DropColumns per suprimir les subtaules.
Afegiu un altre botó i definiu la propietat Text per tal que el botó mostri Només suma.
Definiu la propietat OnSelect del botó "Només suma" a aquesta fórmula:
ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities ) )
Que resulta en:
Heu de tenir en compte que no hem hagut de desagrupar aquesta taula.