PowerApps-Delegierung: PowerApps und die Anzahl von Zeilen aus einer SharePoint Liste

Zu Beginn von PowerApps konnte man sich auf einfache Art und Weise aus einer Datenquelle nur 250 Zeilen ziehen und die in PowerApps darstellen. Der Default liegt mittlerweile bei 500 Zeilen und kann in den erweiterten Einstellungen auf max. 2.000 vergrößert werden.

In einem aktuellen Projekt hat eine Liste 18826 Zeilen und der PowerApps Benutzer soll darin suchen können. Mit diesen Limits bekomme ich die Daten also nicht beim initialen Laden in die PowerApp (würde auch einiges an Zeit dauern).

Der Trick hier ist „delegation“.

https://docs.microsoft.com/de-de/powerapps/maker/canvas-apps/delegation-overview

Mit Delegation kann ich meine Filterung, Sortierung, Aggregate und Tabellenstrukturierung („Joins“ – teilweise) von der PowerApp an das dahinterliegende System weiterreichen (Datenquellen: Common Data Service, SharePoint und SQL Server). Damit liegt die Last der Datenaufbereitung im Falle einer SharePoint Liste beim SharePoint und ich bekomme schon vorselektierte Datensätze zurück. Die Limits greifen immer noch, aber auf vorgefilterte Daten.

Ein Beispiel ist die Verwendung einer ComboBox, wo ich anfangen kann einen Text einzugeben und die Daten nach jedem neuen Zeichen zurückgeliefert werden.

Dafür setzt man die Items Eigenschaft auf einen Filterausdruck wie diesen hier:

Filter(Teilnehmer; StartsWith(Nummer; ComboBoxNummer.SearchText))

Die Suche dauert einen kurzen Moment, läuft aber doch ganz gut!