Cómo crear una colección en Power Apps con ClearCollect
Las colecciones en Power Apps son tablas guardadas en la memoria de la aplicación y sirven para reunir datos de varias fuentes, preparar registros antes de guardarlos o reducir las llamadas repetidas al origen de datos. A diferencia de una variable simple, una colección guarda muchas filas a la vez. Saber crearla con ClearCollect es una de las bases para construir aplicaciones Canvas rápidas y bien organizadas.
Requisitos previos
- Una cuenta con acceso a Power Apps (make.powerapps.com).
- Una Canvas App abierta en Power Apps Studio (nueva o existente).
- Familiaridad básica con la barra de fórmulas y las propiedades de los controles.
Paso 1: Entender qué es una colección
Una colección es una tabla temporal que existe solo mientras la aplicación está abierta: cuando el usuario la cierra, los datos desaparecen. Tiene filas (registros) y columnas (campos), igual que una hoja de cálculo. Las columnas se deducen automáticamente a partir del primer registro que insertes, así que conviene que todos los registros tengan los mismos campos. A diferencia de una variable creada con Set, que guarda un único valor, la colección guarda varios registros — ideal para listas de productos, artículos de un carrito o datos que el usuario va introduciendo.
Paso 2: Crear la colección con ClearCollect
La forma más común de empezar es con la función ClearCollect. Hace dos cosas a la vez: vacía la colección (si ya tiene datos) y vuelve a llenarla, evitando registros duplicados cada vez que se ejecuta el código. Añade un botón a la pantalla y, en su propiedad OnSelect, escribe:
ClearCollect(
colProdutos,
{ Produto: "Teclado", Preco: 25, Stock: 10 },
{ Produto: "Rato", Preco: 15, Stock: 20 },
{ Produto: "Monitor", Preco: 120, Stock: 5 }
)Cada par de llaves { } representa un registro, y cada par campo: valor es una columna. El nombre colProdutos es libre, pero usar el prefijo col ayuda a distinguir las colecciones de las variables en el editor. Si quieres que la colección se cree nada más abrir la aplicación, pon el mismo código en la propiedad OnStart de la app o en el OnVisible de la pantalla.
Consejo: evita poner ClearCollect dentro de galerías o en fórmulas que se recalculan con frecuencia. Llámalo desde un botón o en el arranque, para no recargar los datos en cada interacción.Paso 3: Añadir registros con Collect
Para agregar filas sin borrar las existentes, usa Collect. Es lo que harías, por ejemplo, al guardar un nuevo producto introducido en cuadros de texto por el usuario:
Collect(
colProdutos,
{ Produto: txtProduto.Text, Preco: Value(txtPreco.Text), Stock: Value(txtStock.Text) }
)La función Value convierte el texto de los cuadros en número, para que las columnas Preco y Stock tengan el tipo correcto y se puedan sumar u ordenar más adelante.
Paso 4: Mostrar la colección en una galería
Inserta una Galería desde el menú Insertar y define su propiedad Items con el nombre de la colección:
colProdutosLa galería pasa a listar automáticamente cada registro. Dentro de ella, asocia las etiquetas a los campos con ThisItem.Produto, ThisItem.Preco y ThisItem.Stock. Elige un diseño de galería con título y subtítulo para ver los datos enseguida sin configurarlo todo a mano.
Paso 5: Vaciar o eliminar registros
Para vaciar la colección por completo, usa Clear. Para eliminar un registro concreto — por ejemplo, desde un icono de papelera dentro de la galería — usa Remove; y para eliminar por condición, usa RemoveIf:
Clear(colProdutos)
Remove(colProdutos, ThisItem)
RemoveIf(colProdutos, Stock = 0)Verificar el resultado
Previsualiza la aplicación con F5 y haz clic en el botón que creaste: la galería debería llenarse de inmediato. Para confirmar el contenido exacto, añade una etiqueta con CountRows(colProdutos), que muestra cuántos registros hay. También puedes abrir el menú Variables en el panel izquierdo de Power Apps Studio y ver la colección listada en Colecciones, con una vista previa de los datos reales.
Conclusión
Con ClearCollect, Collect y Remove ya puedes crear y gestionar datos en memoria en Power Apps. El siguiente paso es conectar la colección a un origen real: usa Patch para guardar los cambios en Dataverse o SharePoint, o SaveData y LoadData para almacenar los datos en el dispositivo y permitir el trabajo sin conexión. ¿Cuál de las pantallas de tu aplicación se beneficiaría más de cargar sus datos una vez en una colección?