2 de noviembre de 2026 · Roberto Huayta
Delegación en Power Apps: por qué tu galería no muestra todos los registros
Qué significa el aviso de delegación, por qué aparece y cómo escribir fórmulas que funcionen con listas grandes.
Tu app funciona perfecto con 50 registros de prueba. La pasas a producción, la lista crece a 8 000 elementos y, de pronto, la búsqueda "no encuentra" cosas que sí existen. Casi siempre el culpable es la delegación.
Qué es delegar
Cuando escribes Filter(Solicitudes, Estado.Value = "Pendiente"), Power Apps puede hacer dos cosas:
- Delegar la consulta: pedirle al origen de datos (SharePoint, Dataverse, SQL) que filtre y devuelva solo lo que cumple la condición.
- No delegar: traer un bloque de registros al dispositivo y filtrar ahí.
Si la consulta no se puede delegar, Power Apps trabaja solo con los primeros registros del origen: 500 por defecto, y como máximo 2 000 si subes el límite de filas de datos en la configuración de la app. Todo lo que esté más allá de ese número simplemente no se evalúa.
Cómo saber si tienes un problema
En Power Apps Studio, las fórmulas no delegables muestran un aviso de delegación (un triángulo amarillo y la parte problemática subrayada). Ese aviso no rompe la app; te dice que, con muchos datos, los resultados pueden quedar incompletos.
Un truco para probarlo: baja temporalmente el límite de filas a 1. Si la galería sigue mostrando lo correcto, tu fórmula está delegando.
Qué suele delegar en SharePoint
| Delegable en listas de SharePoint | No delegable |
|---|---|
Filter con = sobre columnas de texto, número, sí/no y elección | Search |
StartsWith sobre columnas de texto | El operador in |
Sort y SortByColumns por una columna | Columnas calculadas en la condición |
Comparaciones <, > con números y fechas | Funciones como Len, Left o Trim dentro del filtro |
Dataverse delega muchas más funciones; si tu solución va a crecer, es una buena razón para evaluarlo.
Tres patrones que funcionan
1. Cambia Search por StartsWith. La mayoría de usuarios busca escribiendo el inicio del texto:
Filter(Clientes, StartsWith(Nombre, txtBuscar.Text))
2. Filtra primero por lo delegable y después lo demás. Si una parte de la condición no se puede delegar, aplícala sobre un conjunto que ya sabes que es pequeño:
With(
{ misSolicitudes: Filter(Solicitudes, Solicitante.Email = User().Email) },
Filter(misSolicitudes, Len(Comentario) > 0)
)
3. Guarda una columna de apoyo. Si necesitas filtrar por el año, crea una columna de número Anio y llénala al guardar, en lugar de calcular Year(Fecha) dentro del filtro.
En resumen
- El aviso de delegación es una advertencia real, no un detalle visual.
- Sin delegación, Power Apps solo mira entre 500 y 2 000 registros.
- Diseña tus filtros pensando en lo que el origen de datos sabe resolver.
En el curso Power Apps & Power Automate · Intermedio trabajamos delegación, colecciones y rendimiento paso a paso.