Colecciones
En las dos unidades anteriores, ha visto cómo las variables globales y contextuales almacenan valores únicos. El tercer tipo de variable, el de recopilación, permite almacenar una tabla de datos. Esto es ideal cuando hay que almacenar grandes cantidades de datos estructurados para reutilizarlos en la aplicación. Estos datos pueden proceder directamente de un origen de datos, pueden crearse dentro de la aplicación o una combinación de ambos.
Uso de colecciones para aumentar el rendimiento
El motivo más común para usar colecciones es optimizar el rendimiento mediante la reducción de las llamadas a la misma tabla en un origen de datos. Por ejemplo, si tiene una tabla donde se almacenan todos los proyectos activos y quiere hacer referencia a esa lista varias veces en la aplicación, puede sopesar la posibilidad de consultar los datos una vez y almacenarlos en una colección. Para almacenar una copia de la tabla Proyectos del origen de datos en una colección denominada collectProjects, use la fórmula siguiente.
Collect(collectProjects, Projects)
Esto hará que se cree una colección denominada collectProjects con las mismas filas y columnas que la tabla Projects del origen de datos. Estas son algunas consideraciones sobre el uso de colecciones que deben estar claras:
La función Collect no es delegable. Esto significa que, de forma predeterminada, solo se recuperarán y almacenarán en la colección los 500 primeros elementos del origen de datos. Para obtener más información sobre cómo trabajar con delegaciones, consulte Trabajo con límites de orígenes de datos (límites de delegación) en una aplicación de lienzo de Power Apps.
Después de crearlas, las colecciones dejan de estar vinculadas al origen de datos. Esto quiere decir que los cambios realizados en los datos de una colección no se guardan automáticamente en el origen de datos correspondiente. Esto incluye los cambios que ha realizado en los datos. Si quiere actualizar el origen de datos con los cambios realizados en la colección, deberá crear fórmulas para realizar esta acción, como la recopilación desde el origen de los datos.
Las colecciones son temporales. Cuando la aplicación se cierra, tanto la colección como todo su contenido se quitan. Si necesita almacenar datos de la colección, deberá escribirlos en un origen de datos antes de cerrar la aplicación.
Uso de colecciones dinámicas
Las colecciones no tienen por qué proceder necesariamente de un origen de datos. Una colección también se puede crear a partir de información directamente desde la aplicación. Esto suele hacerse con frecuencia para proporcionar los valores de un menú desplegable o de un cuadro combinado, así como para almacenar grandes cantidades de datos antes de escribir en un origen de datos.
Crear una colección con sus propios datos es parecido a trabajar con los otros tipos de variables. Con la siguiente fórmula se creará una colección denominada collectColors que coincide con la estructura que se muestra en la siguiente tabla.
Collect(collectColors, {Name: "Shane", FavoriteColor: "Orange"},
{Name: "Mary", FavoriteColor: "Blue"}, {Name: "Oscar", FavoriteColor:
"Yellow"})
Nombre | Color favorito |
---|---|
Shane | Naranja |
Mary | Azul |
Oscar | Amarillo |
Después de crear la colección, se puede reutilizar en cualquier parte de la aplicación. Esto significa también que todas las funciones de tabla están disponibles para usarse. La única excepción que distingue las colecciones de los orígenes de datos tabulares es que no se pueden usar con el control de formulario.
Para obtener más información sobre cómo trabajar con colecciones y los datos de tabla que almacenan, consulte Creación de una fórmula básica que usa tablas y registros en una aplicación de lienzo de Power Apps.
Asimismo, las colecciones almacenan datos de tabla exactamente igual que los orígenes de datos tabulares. La ruta de aprendizaje Uso de datos externos en una aplicación de lienzo de Power Apps contiene muchos conceptos que permiten trabajar con colecciones y aumentar su eficacia.
En la unidad final de este módulo, aprenderá algunos conceptos más sobre las variables y cómo ponerlos en práctica en las aplicaciones.