Cargas útiles de datos pequeños: limite la cantidad de datos que obtiene
Uno de los patrones más importantes para las aplicaciones de datos empresariales es limitar el tamaño de los datos que se obtienen en Power Apps. Si las cargas útiles de datos son pequeñas, casi todo lo demás se vuelve más fácil. Los controles Gallery y Table hacen esto automáticamente cuando se conecta directamente a origen de datos en la propiedad Items. Por ejemplo, cuando se conecta directamente a un origen de datos remoto, una galería controla páginas de datos en pequeños incrementos, por ejemplo, 100 registros. Este valor predeterminado aprovecha el hecho de que un usuario final rara vez necesita más de cien registros para una tarea de usuario.
Usar la delegación
Una forma clave de mantener pequeñas las cargas de datos es confiar en que origen de datos haga el trabajo por usted antes de que llegue a Power Apps. La delegación es cuando Power Fx puede traducir una expresión de Power Fx en una expresión de consulta que un origen de datos como Dataverse, SQL Server, SharePoint y Excel puede manejarlo por sí solo. Y luego Power Fx delega esa consulta o da la responsabilidad de realizar el trabajo de consulta, la combinación de datos, al origen de datos. El origen de datos produce los datos correctos y los devuelve a Power Apps.
Cuando el origen de datos está vinculado directamente a una galería o tabla, los datos se paginan o se devuelven a Power Apps en pequeños incrementos de rendimiento de 100 registros. Diferentes orígenes de datos tienen diferentes capacidades. Dataverse, por ejemplo, tiene muchas más capacidades para filtrar datos en el servidor que Excel. Un buen ejemplo es CountRows y CountIf. Dataverse admite CountRows de forma limitada. Dataverse calcula el tamaño de la tabla periódicamente y mantiene ese valor. Cuando se llama a CountRows, se le da ese valor. De esa manera, no es necesario realizar un escaneo completo de la tabla para obtener el número exacto de cada llamada a CountRows. Pero Dataverse también admite un recuento exacto con CountIf de hasta 50 000 filas. Proporciona estas dos capacidades diferentes como una forma de ayudar a preservar el buen rendimiento del servidor de Dataverse. Por el contrario, SharePoint no admite esta función. Por lo tanto, una expresión de Power Fx con CountRows o CountIf para SharePoint no se delega. En su lugar, Power Apps descarga un número limitado de filas, 500 – 2000. Power Fx trabaja en los registros 500/2000 localmente y devuelve un resultado. Si sus datos siempre tienen menos de 500/2000 registros, este enfoque puede funcionar. Pero si tiene más de 500/2000 registros, es posible que obtenga resultados incorrectos.
Evitar demasiadas columnas
De forma predeterminada, Power Apps calcula las columnas reales que necesita para una consulta determinada mediante una llamada de característica Selección de columnas explícitas. Esta característica está habilitada de forma predeterminada para todas las nuevas aplicaciones. Para activar la función de selección de columna explícita en la aplicación de lienzo, vaya a Configuración > Próximas características > Versión preliminar y active el botón de alternancia Selección de columna explícita.
Sugerencias
Para lograr el objetivo de una carga útil de datos pequeña, considere las siguientes preguntas y sugerencias:
Apunte a que la consulta predeterminada para una galería o tabla solo devuelva aproximadamente entre 100 y 200 registros. Si utiliza una consulta delegable, esto sucede automáticamente. Si está consultando una API u otro origen que no admite la delegación, utilice parámetros para refinar los resultados.
- Considere utilizar una vista basada en origen de datos que filtre automáticamente los datos. La mayoría de las aplicaciones de nivel empresarial hacen un uso intensivo de las vistas en origen de datos.
- Considere la posibilidad de utilizar valores de búsqueda o filtro predeterminados para determinar el alcance de los datos.
- Considere solicitar argumentos de búsqueda en la interfaz de usuario antes de mostrar datos.
- Considere estas preguntas sobre su aplicación:
- ¿Qué es necesario en una pantalla determinada por defecto?
- ¿Qué datos necesita realmente el usuario final para realizar una determinada acción empresarial?
- Los usuarios generalmente no necesitan miles de registros en una pantalla inicial para realizar una tarea.
Comience a crear su consulta para una galería o tabla utilizando las tablas de delegación para su origen de datos. Elija únicamente las funciones admitidas para su consulta. Si su consulta no es delegable, ¿qué puede hacer para que lo sea?