Filtra les dades al servidor abans de mostrar-les a la galeria

Una app de Power Apps pot semblar impecable durant mesos. La galeria respon, els filtres semblen precisos i tothom troba la petició que necessita. Després la llista de SharePoint acumula milers de registres i apareix un error especialment incòmode: una persona busca una incidència antiga, no la veu, i assumeix que no existeix.
Sovint el problema no és la dada. És la consulta. Quan Power Apps no pot traduir una fórmula al connector de SharePoint, descarrega només una part dels registres i filtra al dispositiu. El límit predeterminat és de 500 files, encara que es pot ampliar; ampliar-lo només retarda el problema i castiga el rendiment. (learn.microsoft.com)
La idea pràctica és senzilla i exigent: una galeria ha de preguntar primer al servidor, amb camps preparats per a la consulta, i només després pintar resultats. Aquesta decisió evita resultats parcials i converteix una app petita en una eina que pot créixer amb la feina real.
Abans de tocar fórmules, calen tres condicions. La persona que construeix l’app necessita permís de creació a l’entorn de Power Apps i accés d’edició a la llista; les persones usuàries necessiten, com a mínim, lectura sobre els elements que han de consultar. Aquest patró usa SharePoint, que és un connector estàndard. Algunes llicències de Microsoft 365 inclouen drets limitats de Power Apps per treballar amb dades de Microsoft 365 i connectors estàndard; convé verificar el pla assignat si l’app incorpora connectors premium, Dataverse independent o automatitzacions més ambicioses. (learn.microsoft.com)
Imaginem una app interna de peticions de compra amb 18.000 registres. Cada element té Codi, Estat, Sol·licitant i Data. En comptes d’oferir una cerca lliure sobre tots els camps, definim un recorregut clar: primer l’estat, després el principi del codi.
- A SharePoint, creeu índexs sobre
EstatiCodi. Prioritzeu les columnes que intervenen en filtres habituals; cada índex afegeix manteniment, així que acumular-ne sense criteri empitjora el disseny. (support.microsoft.com) - A l’app, feu obligatòria la selecció d’estat amb un desplegable. Per exemple,
Oberta,En revisióoTancada. - A la propietat Items de la galeria, apliqueu una fórmula com aquesta:
Filter(Peticions; Estat.Value = ddEstat.Selected.Value; StartsWith(Codi; txtCodi.Text)). - Exigiu almenys tres caràcters al quadre de cerca abans de mostrar resultats. Això redueix consultes massa àmplies i orienta la persona usuària cap al codi, que és un identificador estable.
- Obriu l’App checker i elimineu qualsevol avís de delegació. Durant les proves, configureu temporalment el límit de files de dades a 1: una fórmula que funciona així està realment delegada, no sostinguda per casualitat amb una mostra local. (learn.microsoft.com)
StartsWith sobre una columna de text permet que SharePoint resolgui la cerca. En canvi, afegir Lower(Codi), concatenar camps o cercar fragments amb operadors que recorren tota la taula pot trencar la delegació. També cal vigilar les columnes complexes: SharePoint no delega StartsWith sobre subcamps de tipus Choice o Lookup. (learn.microsoft.com)
El compromís és deliberat: cercar per prefix requereix que l’equip conegui o copiï el començament del codi. A canvi, l’app ofereix una resposta completa i previsible. Si la necessitat real és cercar qualsevol paraula dins de qualsevol camp, cal replantejar el model de dades o valorar Dataverse; no convé disfressar una cerca costosa amb una galeria aparentment ràpida.
Petit repte: obriu una galeria existent, poseu el límit de files a 1 i proveu la cerca. Si encara localitza una petició antiga, teniu una bona base. Si desapareix, l’avís ja us ha assenyalat on començar a millorar.