Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Aplícase a: Aplicacións
de lenzo Copilot Studio
Fluxos
de escritorio Aplicacións
baseadas en modelos Funcións de Power Platform CLI
Dataverse
Dá forma a unha táboa ou rexistro engadindo, soltando, renomeando e seleccionando as súas columnas.
A función ForAll tamén se pode usar para dar forma a unha táboa, devolvendo unha táboa de novos rexistros creados a partir de columnas existentes.
Visión xeral
Estas funcións dan forma a unha táboa ou rexistro axustando as súas columnas:
- Reducir unha táboa ou rexistro que conteña varias columnas a unha soa columna para usar con funcións dunha soa columna, como Lower ou Sqrt.
- Engadir unha columna calculada a unha táboa ou rexistro (por exemplo, unha columna de Prezo total que mostra os resultados de multiplicar a cantidade polo prezo unitario).
- Cambie o nome dunha columna a algo máis significativo, para a súa visualización aos usuarios ou para o seu uso en fórmulas.
Unha táboa é un valor en Power Apps, ao igual que unha cadea ou un número. Pode especificar unha táboa como argumento nunha fórmula e as funcións poden devolver unha táboa como resultado.
Nota
As funcións que describe este tema non modifican a táboa orixinal. Pola contra, toman esa táboa como argumento e devolven unha nova táboa cunha transformación aplicada. Para obter máis información, consulte Traballar con táboas.
Non pode modificar as columnas dunha orixe de datos empregando estas funcións. Debe modificar os datos na súa fonte. Pode engadir columnas a unha colección coa función Collect. Para obter máis información, consulte Traballar con fontes de datos.
Descripción
A AddColumns función engade unha columna a unha táboa ou rexistro, e unha fórmula define os valores desa columna. As columnas existentes seguen sen modificarse.
A fórmula avalíase para o rexistro proporcionado ou para cada rexistro da táboa proporcionada.
Os campos do rexistro que se están a procesar actualmente están dispoñibles na fórmula. Use o operador ThisRecord ou simplemente faga referencia aos campos por nome como faría con calquera outro valor. O operador As tamén se pode usar para nomear o rexistro que se está a procesar, o que pode axudar a que a fórmula sexa máis fácil de comprender e facer que os rexistros anidados sexan accesibles. Para obter máis información, consulte os seguintes exemplos e traballar co ámbito do rexistro.
A DropColumns función exclúe as columnas dunha táboa ou rexistro. O resto das columnas seguen sen modificarse. DropColumns Exclúe columnas e ShowColumns inclúe columnas.
Use a función para cambiar o RenameColumns nome dunha ou máis columnas dunha táboa ou rexistro proporcionando polo menos un par de argumentos que especifique o nome dunha columna que contén a táboa ou rexistro (o nome antigo, que desexa substituír) e o nome dunha columna que a táboa ou rexistro non contén (o novo nome, que queiras usar). O nome antigo debe existir xa na táboa ou rexistro e o novo nome non debe existir. Cada nome de columna só pode aparecer unha vez na lista de argumentos como un nome de columna antiga ou un novo nome de columna. Para cambiar o nome dunha columna a un nome de columna existente, primeiro elimine a columna existente con DropColumns, ou renomee a columna existente fóra do camiño aniñando unha RenameColumns función dentro doutra.
A ShowColumns función inclúe columnas dunha táboa ou rexistro e elimina todas as demais columnas. Pode usar ShowColumns para crear unha táboa ou rexistro dunha soa columna a partir dunha táboa ou rexistro de varias columnas. ShowColumns Inclúe columnas e DropColumns exclúe columnas.
Para todas estas funcións, o resultado é unha nova táboa ou rexistro coa transformación aplicada. A táboa ou o rexistro orixinal non se modifica. Non se pode modificar unha táboa ou rexistro existente cunha fórmula. SharePoint, Microsoft Dataverse, SQL Server e outras fontes de datos proporcionan ferramentas para modificar as columnas de listas e táboas, que a miúdo se denominan esquema. As funcións deste tema só transforman unha táboa ou rexistro de entrada, sen modificar o orixinal, nunha táboa ou rexistro de saída para o seu posterior uso.
Os argumentos para estas funcións admiten a delegación. Por exemplo, a función Filter empregada como argumento para extraer buscas de rexistros relacionados a través de todos os listados, aínda que a orixe de datos "[dbo]. [AllListings]" conteña un millón de filas:
AddColumns( RealEstateAgents,
Listings,
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
Non obstante, a saída destas funcións está suxeita ao límite de rexistro de non delegación. Neste exemplo, só se devolven 500 rexistros aínda que a orixe de datos RealEstateAgents ten 501 ou máis rexistros.
Se usa AddColumns deste xeito, Filter debe facer chamadas separadas á fonte de datos para cada un deses primeiros rexistros en RealEstateAgents, o que provoca moita conversa na rede. Se [dbo](.[AllListings] é o suficientemente pequeno e non cambia a miúdo. Podes chamar á función Recoller en OnStart para almacenar en caché o orixe de datos da túa aplicación cando se inicie. Como alternativa, pode reestruturar a aplicación para que extraia os rexistros relacionados só cando o usuario os solicita.
Nota
En Power Apps anterior á versión 3.24042, os nomes das columnas eran especificados cunha cadea de texto mediante comiñas dobres e, se estaban conectados a un orixe de datos, tamén debían ser nomes lóxicos. Por exemplo, utilizouse o nome lóxico "cr43e_name" con comiñas dobres en lugar do nome para mostrar Nome sen comiñas. Para fontes de datos SharePoint e Excel que conteñen nomes de columnas con espazos, cada espazo especificouse con "_x0020_", por exemplo "Nome da columna" as "Nome_x0020_Columna". Despois desta versión, todas as aplicacións actualizáronse automaticamente á nova sintaxe descrita neste artigo.
Sintaxe
AddColumns( TableOrRecord, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )
- TableOrRecord - Obrigatorio. Táboa ou rexistro para operar.
- ColumnNames - Obrigatorio. Nomes das columnas a engadir.
- Fórmulas - Obrigatorio. Fórmulas a avaliar para cada rexistro. O resultado engádese como o valor da columna nova correspondente. Podes facer referencia a outras columnas da táboa ou rexistro nesta fórmula.
DropColumns( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )
- TableOrRecord - Obrigatorio. Táboa ou rexistro para operar.
- ColumnNames - Obrigatorio. Nomes das columnas a soltar.
RenameColumns( TableOrRecord, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )
- TableOrRecord - Obrigatorio. Táboa ou rexistro para operar.
- OldColumnNames : é necesario. Nomes das columnas a renomear a partir da táboa ou rexistro orixinal. Este elemento aparece primeiro no par de argumentos (ou primeiro en cada par de argumentos se a fórmula inclúe máis dun par).
- NewColumnNames : é necesario. Nomes de substitución. Este elemento aparece último no par de argumentos (ou último en cada par de argumentos se a fórmula inclúe máis dun par).
ShowColumns( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )
- TableOrRecord - Obrigatorio. Táboa ou rexistro para operar.
- ColumnNames - Obrigatorio. Nomes das columnas a incluír.
Exemplos
Os exemplos desta sección usan a sección IceCreamSales, que contén os datos desta táboa:
Ningún destes exemplos modifica a orixe de datos IceCreamSales. Cada función transforma o valor da orixe de datos como unha táboa e devolve ese valor como resultado.
| Fórmula | Descripción | Resultado |
|---|---|---|
| AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) | Engada unha columna Revenue para o resultado. Para cada rexistro, avalíase UnitPrice * QuantitySold e o resultado sitúase na nova columna. |
|
| DropColumns( IceCreamSales, UnitPrice ) | Exclúe a columna UnitPrice do resultado. Use esta función para excluír columnas e usar ShowColumns para incluílas. |
|
| ShowColumns( IceCreamSales, Flavor ) | Inclúe só a columna Flavor no resultado. Use esta función incluír columnas e usar DropColumns para excluílas. |
|
| RenameColumns(IceCreamSales, UnitPrice, Price) | Cambia o nome da columna UnitPrice no resultado. |
|
| RenameColumns(IceCreamSales, UnitPrice, Price, QuantitySolded, Number) | Cambia o nome das columnas UnitPrice e QuantitySold no resultado. |
|
|
DropColumns( RenameColumns( AddColumns( Xeados, Ingresos, Prezo unitario * Cantidade vendida), Prezo unitario, prezo), Cantidade) |
Realiza as seguintes transformacións na táboa en orde, a partir do interior da fórmula:
|
|
Paso a paso
Probemos algúns dos exemplos anteriores neste artigo.
Cree unha colección engadindo un control de Botón e configure a súa propiedade OnSelect nesta 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 } ) )Execute a fórmula seleccionando o botón e mantendo premida a tecla Alt.
Engada un segunco control de Botón e axuste a súa propiedade OnSelect nesta fórmula e logo execúteo:
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )No menú Ficheiro, seleccione Coleccións e logo seleccione IceCreamSales mostrar esa colección.
Como mostra esta gráfica, a segunda fórmula non modificou esta colección. A AddColumns función usaba IceCreamSales como argumento de só lectura; a función non modificaba a táboa á que se refire ese argumento.
Seleccione FirstExample.
Como mostra esta gráfica, a segunda fórmula devolveu unha nova táboa coa columna engadida. A función ClearCollect capturou a nova táboa na colección FirstExample, engadindo algo á táboa orixinal mentres fluía pola función sen modificar a fonte:
Asignar columnas nun compoñente
Consulte Asignar columnas.