Power Apps kann maximal nur 2000 Datensätze laden. Es gibt aber Situationen, wo man aus einer großen SharePoint-Liste mit mehreren tausend Zeilen, über ein Suchkriterium als Filter mehr als 2000 Datensätze ausgeben könnte. Für die Umgehung der 2000 – Grenze brauchen wir in der Zusammenarbeit Power Apps und Power Automate. Mit Power Apps übergeben wir die Suchanfrage an Power Automate. Power Automate erledigt die Filterung der Liste nach Suchkriterium und gibt das Ergebnis als Array an Power Apps wieder zurück.
Schritt: 1
In Power Apps erstellen wir ein ‘TextInput’-Feld, um das Suchkriterium einzugeben. Sobald der Suchtext eingegeben wird, ruft die ‘ONChange’-Eigenschaft des ‘TextInput’-Felds den zuvor definierten Flow in Power Apps auf. Die gefilterten Daten werden über die im Flow erstellte Variable ‘searchresults’ zurück an Power Apps gesendet. Im folgenden Codebeispiel wird deutlich, dass der Suchtext auf die definierten Spalten innerhalb der Collection ‘colExportExternAlles’ zugreift, in diesen Spalten sucht und das Ergebnis zurückgibt.
If(Toggle1.Value = true && !IsBlank(TextInputSuchfeld_1.Text);
ClearCollect(
colExportExternAlles;
ForAll(
Table(ParseJSON(
'FS-Search-FSKontrolle-Export'.Run(TextInputSuchfeld_1.Text).searchresults));
{
ID: Value(Value.ID);
Title: Text(Value.Title);
RFID: Text(Value.RFID);
Scandatum: Text(Value.Scandatum);
Bereich:Text(Value.Bereich);
Dienststelle:Text(Value.Dienststelle);
Monat:Text(Value.Monat);
Jahr: Text(Value.Jahr)
}
)
))
;;
Schritt: 2
Wenn wir den Flow direkt in Power Apps erstellen, können wir den Trigger “Power Apps (V2)” verwenden. In diesem Trigger definieren wir die Variable ‘searchTerminus’ vom Typ “String”. Sobald der Suchtext eingegeben wird, wird der Flow ausgelöst und kann auf die definierten Spalten in der Collection ‘colExportExternAlles’ zugreifen.
Effizientes Auslesen von SharePoint-Daten mit Power Automate
Beim Auslesen von Daten aus einer SharePoint-Liste mit Power Automate gibt es einige wichtige Aspekte zu beachten. Standardmäßig gibt Power Automate 100 Datensätze aus der Liste oder Dokumentenbibliothek zurück – ein Limit, das für umfangreiche Listen mit mehreren tausend Einträgen nicht ausreicht. Zur Umgehung der 2000 Grenze stehen uns glücklicherweise zwei Möglichkeiten zur Verfügung, um dieses Problem zu lösen:
- Verwendung der REST-API mit dem Connector “HTTP-Anforderung senden”
- Dieser Ansatz erfordert technisches Know-how, bietet jedoch maximale Flexibilität. Sie können die REST-API mit dem Befehl „Get“ direkt ansprechen und die gewünschten Daten abrufen.
- Verwendung des SharePoint-Connectors “Elemente abrufen” mit aktivierter Paginierung
- Diese Methode ist benutzerfreundlicher und erfordert weniger technisches Wissen.
- Aktivieren Sie die Paginierung im Connector “Elemente abrufen”, um die REST-API-Schnittstelle effizient zu nutzen und mehrere tausend Datensätze auf einmal auszulesen.
In unserem Fall verwenden wir die zweite Option – den SharePoint-Connector “Elemente abrufen”. Damit sind wir in der Lage, große Datenmengen effizient zu verarbeiten.
Schritt: 3
Da wir in der Datenquelle mehrere Spalten nach unserem Suchtext abfragen wollen, müssen wir bei der Abfrage mit Hilfe der Funktion ‚substringof‚ unseren Suchabfrage definieren.
Schritt: 4
Mit dem Connector „Auswählen“ können wir die abgerufenen Datensätze extrahieren und zuordnen.
Schritt: 5
Datenzusammenführung mit dem “Verfassen”-Connector in Power Automate
Der “Verfassen”-Connector in Power Automate ermöglicht es uns, zuvor zugeordnete Datensätze effizient zusammenzuführen. Diese kombinierten Daten können dann über die definierte Variable ‘searchResults’ als Zeichenkette an Power Apps übergeben werden.
Fazit
Die Geschwindigkeit dieses Prozesses ist beeindruckend – ganz anders als man es vielleicht erwartet hätte. Natürlich spielt die Präzision der Suchbegriffe eine entscheidende Rolle. Je genauer und spezifischer der Suchbegriff definiert ist, desto schneller können die gewünschten Ergebnisse erzielt werden.
Das ist wirklich beeindruckend! Selbst bei einem einzelnen Buchstaben durchsucht der Prozess jede Spalte in atemberaubender Geschwindigkeit und liefert das gewünschte Ergebnis. In diesem Fall sind es 3304 Datensätze in der Übereinstimmung der Suchanfrage – eine bemerkenswerte Leistung!
Entdecke mehr von Viage Blog
Subscribe to get the latest posts sent to your email.