Kaum eine Warnung wird in Power Apps so oft ignoriert wie die Delegation-Warnung – und kaum eine ist so tückisch. Sie bedeutet: Die Abfrage kann nicht vollständig an die Datenquelle delegiert werden, also lädt die App nur die ersten N Datensätze (Standard 500, maximal 2000) und wertet den Rest lokal aus. Das Ergebnis sieht in der Testumgebung mit 50 Datensätzen korrekt aus und liefert im Produktivbetrieb mit 3.000 Datensätzen stillschweigend falsche Zahlen.

Erst verstehen, was delegierbar ist

Delegierbarkeit hängt von Datenquelle UND Funktion ab. Bei Dataverse und SQL sind viele Operatoren delegierbar, bei SharePoint deutlich weniger. Typische Nicht-Delegierbare: verschachtelte Sortierungen, bestimmte String-Funktionen, komplexe Kombinationen aus Filter und Sort. Der erste Schritt ist immer: die Abfrage so umformen, dass sie innerhalb der delegierbaren Grenzen bleibt.

Kombinierte Sortierung als konkreter Fall

Ein wiederkehrendes Problem sind Listen, die nach mehreren Kriterien sortiert werden sollen (z. B. erst nach Status, dann nach Datum), während gleichzeitig gefiltert wird. Die naive SortByColumns-über-Filter-Kombination sprengt schnell die Delegation. Die belastbare Lösung ist, die Sortier-Logik in eine delegierbare Struktur zu bringen – etwa über eine berechnete, sortierbare Spalte auf der Datenquelle oder eine bewusst delegierbare Kombination aus Filter und einfacher Sortierung, statt mehrere nicht-delegierbare Operationen zu stapeln.

// Statt nicht-delegierbarer Verschachtelung ...
SortByColumns(Filter(Vertraege, Status = "Offen"), "Prioritaet", "Datum")
// ... die Abfrage auf delegierbare Operatoren und eine
// vorbereitete Sortierspalte reduzieren und clientseitig
// nur den bereits eingegrenzten Ergebnisraum feinsortieren.
Der wichtigste Test findet nicht in der Entwicklung statt, sondern mit produktionsnahen Datenmengen: Erst oberhalb des Delegation-Limits zeigt sich, ob eine Liste vollständig ist.

Wenn es wirklich nicht delegierbar ist

  • Ergebnismenge vor der lokalen Verarbeitung mit einem delegierbaren Filter kleinhalten (unter das Limit).
  • Collections gezielt und bewusst einsetzen – aber nur für Datenmengen, die garantiert unter der Grenze bleiben.
  • Das Delegation-Limit projektweit auf 2000 setzen ist eine Krücke, keine Lösung – es verschiebt das Problem nur nach hinten.
Belegt aus der Praxis: Diese Lösung stammt aus einem echten Projekt. Powerfully – Digitales Broker-Management ansehen