Funcions AddColumns, DropColumns, RenameColumns i ShowColumns del Power Apps
Per afegir una taula, afegeix, suprimeix, canvia el nom o selecciona columnes.
Informació general
Aquestes funcions configuren una taula amb l'ajust de les columnes:
- Reduïu una taula que contingui diverses columnes a una sola columna per utilitzar-les amb funcions d'una sola columna, com ara Lower o Abs.
- Afegiu una columna calculada a una taula (per exemple, una columna Preu total que mostri els resultats de multiplicar Quantitat per Preu per unitat).
- Canvieu el nom d'una columna per algun nom més significatiu, per mostrar-la als usuaris o utilitzar-la en fórmules.
Una taula és un valor del Power Apps, igual que una cadena o un número. Podeu especificar una taula com a argument d'una fórmula i les funcions poden retornar una taula com a resultat.
Nota
Les funcions que descriu aquest tema no modifiquen la taula original. Com a alternativa, agafen la taula com a argument i tornen una taula nova amb una transformació aplicada. Vegeu Treballar amb taules per obtenir més informació.
No podeu modificar les columnes d'una font de dades mitjançant aquestes funcions. Heu de modificar les dades a la font. Podeu afegir columnes a una col·lecció amb la funció Collect. Vegeu Treballar amb fonts de dades per obtenir més informació.
Descripció
La funció AddColumns afegeix una columna a una taula i una fórmula defineix els valors d'aquesta columna. Les columnes existents no es modifiquen.
La fórmula s'avalua per a cada registre de la taula.
Els camps del registre que s’està processant actualment estan disponibles dins de la fórmula. Utilitzeu l’operador ThisRecord o simplement els camps de referència per nom com si fos qualsevol altre valor. L’operador As també es pot utilitzar per nomenar el registre que s’està processant i que pot ajudar-vos a fer que la fórmula sigui més fàcil d’entendre i fer accessible els registres incrustats. Per obtenir més informació, vegeu els exemples següents i la secció Treballar amb l’àmbit de registre.
La funció DropColumns exclou les columnes d'una taula. La resta de columnes existents no es modifiquen. DropColumns exclou columnes, mentre que ShowColumns inclou columnes.
Utilitzeu la funció RenameColumns per canviar el nom d'una o diverses columnes d'una taula mitjançant un mínim d'un parell d'arguments que especifiqui el nom d'una columna que conté la taula (el nom antic, que voleu substituir) i el nom d'una columna que no conté la taula (el nom nou, que voleu utilitzar). El nom antic ja ha d'existir a la taula, mentre que el nom nou no ha d'existir. Cada nom de columna només pot mostrar-se un cop a la llista d'arguments, ja sigui un nom de columna antic o un nom de columna nou. Per canviar el nom d'una columna per un nom de columna existent, abans heu de suprimir la columna existent amb DropColumns; o bé, per canviar el nom de la columna existent, incrusteu la funció RenameColumns dins d'una altra.
La funció ShowColumns inclou columnes d'una taula i suprimeix totes les altres columnes. Podeu utilitzar ShowColumns per crear una taula d'una sola columna des d'una taula de diverses columnes. ShowColumns inclou columnes, mentre que DropColumns exclou columnes.
Per a totes aquestes funcions, el resultat és una taula nova amb la transformació aplicada. La taula original no es modifica. No podeu modificar una taula existent amb una fórmula. El SharePoint, el Microsoft Dataverse, l'SQL Server i altres fonts de dades proporcionen eines per modificar les columnes de llistes, taules i taules, que sovint s'anomenen esquema. Les funcions d'aquest tema només transformen una taula d'entrada, sense modificar l'original, en una taula de sortida per a continuar utilitzant-la.
Els arguments d'aquestes funcions admeten la delegació. Per exemple, una funció Filter utilitzada com a argument per generar registres relacionats cerca a tots els llistats, fins i tot si la font de dades '[dbo].[AllListings]' conté un milió de files:
AddColumns( RealEstateAgents,
"Listings",
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
No obstant això, la sortida d'aquestes funcions està subjecta al límit de registre no delegats. En aquest exemple, només es retornen 500 registres fins i tot si la font de dades RealEstateAgents té 501 o més registres.
Si utilitzeu AddColumns d'aquesta manera, Filter ha de fer trucades per separat a la font de dades per a cadascun dels primers registres de RealEstateAgents, la qual cosa provoca una gran quantitat de trucades de xarxa. Si [dbo].[AllListings] és prou petit i canvia sovint, podríeu trucar a la funció Collect a OnStart per a la memòria cau de la font de dades de l'aplicació quan s'iniciï. Com a alternativa, podeu reestructurar l'aplicació per tal que genereu els registres relacionats només quan l'usuari els demani.
Sintaxi
AddColumns(Taula, ColumnName1, Fórmula1, [ColumnName2, Fórmula2, ...])
- Taula: obligatori. Taula on es treballarà.
- ColumnName: obligatori. Noms de les columnes que s'afegiran. Heu d'especificar una cadena (per exemple, "Nom" amb cometes dobles incloses) per a aquest argument.
- Fórmula: obligatori. Les fórmules que s'avaluen per a cada registre. El resultat s'afegeix com a valor de la columna nova corresponent. Podeu fer referència a altres columnes de la taula en aquesta fórmula.
DropColumns(Taula, ColumnName1, [ColumnName2, ...])
- Taula: obligatori. Taula on es treballarà.
- ColumnName: obligatori. Noms de les columnes que se suprimiran. Heu d'especificar una cadena (per exemple, "Nom" amb cometes dobles incloses) per a aquest argument.
RenameColumns(Taula, OldColumnName1, NewColumnName1, [OldColumnName2, NewColumnName2, ...])
- Taula: obligatori. Taula on es treballarà.
- OldColumnName: obligatori. Nom d'una columna de la taula original de la qual es canviarà el nom. Aquest element apareix en primer lloc al parell d'arguments (o en primer lloc a cada parell d'arguments si la fórmula inclou més d'un parell). Aquest nom ha de ser una cadena (per exemple, "Nom" amb les cometes dobles incloses).
- NewColumnName: obligatori. Nom de substitució. Aquest element apareix en darrer lloc al parell d'arguments (o en darrer lloc a cada parell d'arguments si la fórmula inclou més d'un parell). Heu d'especificar una cadena (per exemple, "Nom del client" amb cometes dobles incloses) per a aquest argument.
ShowColumns(Taula, ColumnName1, [ColumnName2, ...])
- Taula: obligatori. Taula on es treballarà.
- ColumnName: obligatori. Noms de les columnes que s'inclouran. Heu d'especificar una cadena (per exemple, "Nom" amb cometes dobles incloses) per a aquest argument.
Exemples
Als exemples d'aquesta secció s'utilitza la font de dades IceCreamSales, que conté les dades d'aquesta taula:

Cap d'aquests exemples no modifica la font de dades IceCreamSales. Cada funció transforma el valor de la font de dades com una taula i retorna aquest valor com a resultat.
| Fórmula | Descripció | Resultat |
|---|---|---|
| AddColumns(IceCreamSales, "Ingressos", UnitPrice * QuantitySold) | Afegeix una columna Ingressos al resultat. Per a cada registre, s'avalua UnitPrice * QuantitySold i el resultat es col·loca a la columna nova. | ![]() |
| DropColumns(IceCreamSales, "UnitPrice") | Exclou la columna UnitPrice del resultat. Utilitzeu aquesta funció per excloure columnes i utilitzeu ShowColumns per incloure-les. | ![]() |
| ShowColumns(IceCreamSales, "Gust") | Inclou només la columna Gust al resultat. Utilitzeu aquesta funció per incloure columnes i utilitzeu DropColumns per excloure-les. | ![]() |
| RenameColumns(IceCreamSales, "UnitPrice", "Preu") | Canvieu el nom de la columna UnitPrice al resultat. | ![]() |
| RenameColumns(IceCreamSales, "UnitPrice", "Preu", "QuantitySold", "Número") | Canvia el nom de les columnes UnitPrice i QuantitySold al resultat. | ![]() |
| DropColumns( RenameColumns( AddColumns(IceCreamSales, "Ingressos", UnitPrice * QuantitySold), "UnitPrice", "Preu"), "Quantitat") |
Realitza les transformacions de la taula següent per ordre, començant per l'interior de la fórmula:
|
![]() |
Pas a pas
Provem alguns dels exemples anteriors d'aquest tema.
Per crear una col·lecció, afegiu un control Botó i definiu-ne la propietat OnSelect en aquesta fórmula:
ClearCollect( IceCreamSales, Table( { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 }, { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 }, { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 } ) )Per executar la fórmula, seleccioneu el botó mentre manteniu premuda la tecla Alt.
Afegiu un segon control Botó, definiu-ne la propietat OnSelect a aquesta fórmula i, a continuació, executeu-la:
ClearCollect( FirstExample, AddColumns( IceCreamSales, "Revenue", UnitPrice * QuantitySold ) )Al menú Fitxer, seleccioneu Col·leccions i, a continuació, seleccioneu IceCreamSales per mostrar la col·lecció.
Tal com mostra el gràfic, la segona fórmula no ha modificat aquesta col·lecció. La funció AddColumns ha utilitzat IceCreamSales com a argument només de lectura; la funció no ha modificat la taula a la qual fa referència l'argument.

Seleccioneu FirstExample.
Tal com mostra el gràfic, la segona fórmula ha retornat una taula nova amb la columna afegida. La funció ClearCollect ha capturat la taula nova a la col·lecció FirstExample i ha afegit quelcom a la taula original en fluir a través de la funció sense modificar-ne l'origen:

Assigna columnes en un component
Vegeu Columnes del mapa.





