Funciones AddColumns, DropColumns, RenameColumns y ShowColumns en Power Apps
Forma una tabla agregando, quitando, cambiando el nombre y seleccionando sus columnas.
Información general
Estas funciones dan forma a una tabla mediante el ajuste de sus columnas:
- Reducción de una tabla que contiene varias columnas a una sola columna para su uso con las funciones de columna única, como Lower o Abs.
- Incorporación de una columna calculada a una tabla (por ejemplo, una columna Total Price que muestre el resultado de multiplicar Quantity por Unit Price).
- Cambio del nombre de una columna a algo más significativo, para mostrarla a los usuarios o para su uso en las fórmulas.
Una tabla es un valor en Power Apps, como una cadena o un número. Puede especificar una tabla como un argumento en una fórmula, y las funciones pueden devolver una tabla como resultado.
Nota
Las funciones que se describen en este tema no modifican la tabla original. En su lugar, usan una tabla como un argumento y devuelven una nueva tabla con una transformación aplicada. Consulte cómo trabajar con tablas para más detalles.
No se pueden modificar las columnas de un origen de datos mediante el uso de estas funciones. Tiene que modificar los datos en su origen. Puede agregar columnas a una colección con la función Collect. Consulte cómo trabajar con fuentes de datos para más detalles.
Descripción
La función AddColumns agrega una columna a una tabla y una fórmula define los valores de esa columna. Las columnas existentes permanecen sin modificar.
La fórmula se evalúa para cada registro de la tabla.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Use el operador ThisRecord o simplemente haga referencia a los campos por nombre como lo haría con cualquier otro valor. El operador As también se puede usar para nombrar el registro que se está procesando, lo que puede ayudar a que su fórmula sea más fácil de entender y hacer accesibles los registros anidados. Para obtener más información, vea los ejemplos siguientes y trabajar con el ámbito de registros.
La función DropColumns excluye las columnas de una tabla. El resto de las columnas permanece sin modificar. DropColumns excluye las columnas y ShowColumns las incluye.
Use la función RenameColumns para cambiar el nombre de una o varias columnas de una tabla al proporcionar al menos un par de argumentos que especifiquen el nombre de una columna que contiene la tabla (el nombre antiguo, que se quiere reemplazar) y el nombre de una columna que la tabla no contiene (el nombre nuevo, que se quiere usar). El nombre antiguo ya debe existir en la tabla y el nuevo nombre no. Cada nombre de columna puede aparecer solo una vez en la lista de argumentos como un nombre de columna antiguo o nuevo. Para cambiar el nombre de una columna por un nombre de columna existente, primero quite la columna existente con DropColumns o cambie el nombre de la columna existente al anidar una función RenameColumns dentro de otra.
La función ShowColumns incluye columnas de una tabla y quita todas las demás columnas. Puede usar ShowColumns para crear una tabla de una sola columna a partir de una tabla de varias columnas. ShowColumns incluye columnas y DropColumns las excluye.
Para todas estas funciones, el resultado es una nueva tabla con la transformación aplicada. La tabla original no se modifica. No puede modificar una tabla existente con una fórmula. SharePoint, Microsoft Dataverse, SQL Server y otros orígenes de datos proporcionan herramientas para modificar las columnas de listas, tablas y tablas, que a menudo se conocen como el esquema. Las funciones en este tema solo transforman una tabla de entrada, sin modificar el original, en una tabla de salida para su uso posterior.
Los argumentos de estas funciones admiten la delegación. Por ejemplo, una función Filter utilizada como argumento para extraer búsquedas de registros relacionados en todos los listados, incluso si el origen de datos '[dbo].[AllListings]' contiene un millón de filas:
AddColumns( RealEstateAgents,
"Listings",
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
Sin embargo, la salida de estas funciones está sujeta al límite de registro sin delegación. En este ejemplo, solo se devuelven 500 registros incluso si el origen de datos RealEstateAgents tiene 501 o más registros.
Si utiliza AddColumns de esta forma, Filter debe realizar llamadas separadas a origen de datos para cada uno de esos primeros registros en RealEstateAgents, lo que causa mucha charla en la red. Si [dbo].[AllListings] es lo suficientemente pequeño y no cambia con frecuencia, podría llamar la función Collect en OnStart para almacenar en caché el origen de datos en su aplicación cuando se inicia. Como alternativa, puede reestructurar su aplicación para que obtenga los registros relacionados solo cuando el usuario los solicite.
Sintaxis
AddColumns( Table, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )
- Table (obligatorio). La tabla sobre la cual se opera.
- ColumnName(s) (obligatorio). Nombres de las columnas para agregar. Tiene que especificar una cadena (por ejemplo, "Name" entre comillas dobles incluidas) para este argumento.
- Formula(s) (obligatorio). La fórmula o fórmulas para evaluar para cada registro. Se agregará el resultado como el valor de la nueva columna correspondiente. Puede hacer referencia a otras columnas de la tabla en esta fórmula.
DropColumns( Table, ColumnName1 [, ColumnName2, ... ] )
- Table (obligatorio). La tabla sobre la cual se opera.
- ColumnName(s) (obligatorio). Nombres de las columnas para excluir. Tiene que especificar una cadena (por ejemplo, "Name" entre comillas dobles incluidas) para este argumento.
RenameColumns( Table, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )
- Table (obligatorio). La tabla sobre la cual se opera.
- OldColumnName (obligatorio). Nombre de una columna de la tabla original cuyo nombre se va a cambiar. Este elemento aparece en primer lugar en el par de argumentos (o en primer lugar en cada par de argumentos si la fórmula incluye más de un par). Este nombre tiene que ser una cadena (por ejemplo, "Name" con comillas dobles incluidas).
- NewColumnName (obligatorio). Nombre de reemplazo. Este elemento aparece en último lugar en el par de argumentos (o en último lugar en cada par de argumentos si la fórmula incluye más de un par). Tiene que especificar una cadena (por ejemplo, "Customer Name" con comillas dobles incluidas) para este argumento.
ShowColumns( Table, ColumnName1 [, ColumnName2, ... ] )
- Table (obligatorio). La tabla sobre la cual se opera.
- ColumnName(s) (obligatorio). Nombres de las columnas para incluir. Tiene que especificar una cadena (por ejemplo, "Name" entre comillas dobles incluidas) para este argumento.
Ejemplos
En los ejemplos en esta sección, use el origen de datos IceCreamSales, que contiene los datos de esta tabla:

Ninguno de estos ejemplos modifica el origen de datos IceCreamSales. Cada función transforma el valor del origen de datos como una tabla y devuelve ese valor como resultado.
| Fórmula | Descripción | Resultado |
|---|---|---|
| AddColumns (IceCreamSales, "Revenue", UnitPrice * QuantitySold) | Agrega una columna Revenue al resultado. Para cada registro, se evalúa UnitPrice * QuantitySold, y el resultado se coloca en la nueva columna. | ![]() |
| DropColumns (IceCreamSales, "UnitPrice") | Excluye la columna UnitPrice del resultado. Use esta función para excluir columnas y usar ShowColumns para incluirlas. | ![]() |
| ShowColumns( IceCreamSales, "Flavor" ) | Incluye solamente la columna Flavor en el resultado. Use esta función para incluir columnas y DropColumns para excluirlas. | ![]() |
| RenameColumns( IceCreamSales, "UnitPrice", "Price") | Cambia el nombre de la columna UnitPrice en el resultado. | ![]() |
| RenameColumns( IceCreamSales, "UnitPrice", "Price", "QuantitySold", "Number") | Cambia el nombre de las columnas UnitPrice y QuantitySold en el resultado. | ![]() |
| DropColumns( RenameColumns( AddColumns( IceCreamSales, "Revenue", UnitPrice * QuantitySold ), "UnitPrice", "Price" ), "Quantity" ) |
Realiza las siguientes transformaciones de tabla en orden, comenzando desde el interior de la fórmula:
|
![]() |
Paso a paso
Probemos algunos de los ejemplos anteriores en este tema.
Cree una colección agregando un control Button con la siguiente fórmula en su propiedad OnSelect:
ClearCollect( IceCreamSales, Table( { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 }, { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 }, { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 } ) )Ejecute la fórmula seleccionando el botón mientras mantiene presionada la tecla Alt.
Agregue un segundo control Button y establezca su propiedad OnSelect en esta fórmula y luego ejecútela:
ClearCollect( FirstExample, AddColumns( IceCreamSales, "Revenue", UnitPrice * QuantitySold ) )En el menú Archivo, seleccione Colecciones y luego seleccione IceCreamSales para mostrar esa colección.
Como muestra este gráfico, la segunda fórmula no modificó esta colección. La función AddColumns utilizada IceCreamSales como argumento de solo lectura; la función no modificó la tabla a la que se refiere ese argumento.

Seleccione FirstExample.
Como muestra este gráfico, la segunda fórmula devolvió una nueva tabla con la columna agregada. La función ClearCollect capturó la nueva tabla en la colección FirstExample, agregando algo a la tabla original a medida que pasaba a través de la función sin modificar el origen:

Asignar columnas en un componente
Vea Asignar columnas.
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).
Comentarios
Enviar e ver os comentarios





