Power Apps: Benutzerdefinierte Funktionen & Typen – Mehr Struktur für Apps | Productivity News 01.08.2025

power apps hintergrund

Veröffentlicht:
Aktualisiert: 4. August 2025

Die Power Platform entwickelt sich rasant weiter und mit ihr die Möglichkeiten, Apps professioneller und modular aufzubauen. Zwei der spannendsten Neuerungen in Power Fx, der Formelsprache von Power Apps, sind derzeit als Vorschau und Experimentelle Features verfügbar: Benutzerdefinierte Funktionen (User Defined Functions, UDFs) und Benutzerdefinierte Typen (User Defined Types, UDTs).

In diesem Beitrag zeige ich dir, was diese Features können, warum sie wichtig sind und wie du sie in deiner App einsetzen kannst.

Was sind UDFs und UDTs und warum sie sich lohnen?

In Power Apps können Formeln schnell komplex und unübersichtlich werden – insbesondere, wenn dieselbe Logik an mehreren Stellen verwendet wird. Auch die strukturierte Verarbeitung von Daten wie Records oder Tabellen kann schnell unklar werden, besonders bei der Arbeit mit Schnittstellen oder mehreren Komponenten.

Mit UDFs kannst du deine eigene Funktion mit Namen, Parametern und Rückgabewert definieren – und sie beliebig oft in deiner App aufrufen.

Mit UDTs legst du fest, wie ein bestimmter Datentyp aufgebaut ist: Welche Felder gibt es? Welchen Typ hat jedes Feld?

Beide Funktionen helfen dir dabei:

  • Redundanz in deiner Logik zu vermeiden
  • Lesbarkeit und Wartbarkeit zu verbessern
  • Fehler frühzeitig zu vermeiden durch klare Typisierung

Voraussetzungen zur Nutzung

Da sich UDFs und UDTs derzeit im Preview-Modus befinden, müssen sie im Power Apps Studio explizit aktiviert werden.

So geht’s:

  • Öffne deine App im Bearbeitungsmodus

Aktiviere anschliessend folgende Einstellungen:

  • Neues Analysemodul
    Einstellungen > Updates > Neu
    Aktiviere: Neues Analysemodul
  • Benutzerdefinierte Funktionen
    Einstellungen > Updates > Vorschau
    Aktiviere: Benutzerdefinierte Funktionen
  • Benutzerdefinierte Typen
    Einstellungen > Updates > Experimentell
    Aktiviere: Benutzerdefinierte Typen
screenshot 2025 07 17 153332

Benutzerdefinierte Funktionen (UDFs)

Mit UDFs kannst du eigene Power Fx-Funktionen schreiben, mit Namen, Parametern und einem klaren Rückgabewert. Statt dieselbe Berechnung oder Logik an verschiedenen Stellen zu wiederholen, definierst du sie einmal und rufst sie überall auf, wo du sie brauchst.

Beispiel: Funktion zum Verdoppeln

screenshot 2025 07 17 154047

Du kannst diese Funktion nun überall in deiner App verwenden:

screenshot 2025 07 17 154517

Beispiel: Mehrwertsteuer berechnen

screenshot 2025 07 17 155416

Unterstützte Datentypen

Derzeit werden folgende Datentypen in UDFs unterstützt:

  • Text
  • Number
  • Boolean
  • Color
  • HyperLink
  • GUID
  • Date
  • DateTime
  • Time
  • Dynamic
  • Hinzugefügte Datenquellen
  • UDT

Behavior vs. Non-Behavior Funktion

Non-Behavior Funktionen

Diese geben nur einen Wert zurück, ohne Auswirkungen auf den Zustand der App.

Beispiele:

screenshot 2025 07 17 160145
screenshot 2025 07 17 160336

Diese Funktionen geben nur Werte zurück, ohne direkt Auswirkung auf die App zu haben.

Behavior Funktionen

Diese führen eine Aktion aus: Sie setzen z. B. eine Variable, zeigen eine Nachricht an oder navigieren zu einem anderen Bildschirm.

Beispiele:

screenshot 2025 07 17 160546
screenshot 2025 07 17 160641

Diese Funktionen haben einen direkten Einfluss auf die App

Behavior Funktionen in UDFs einsetzen

Normalerweise dürfen UDFs nur Non-Behavior Funktionen enthalten.
Will man jedoch Verhaltenslogik (z. B. Navigate, Set) einbauen, muss man den Code in geschweifte Klammern {} setzen:

screenshot 2025 07 18 135630

Benutzerdefinierte Typen (UDTs)

UDTs ermöglichen es, strukturierte Datentypen zu definieren, mit klar benannten Feldern und festen Typen. So kannst du sicherstellen, dass deine Daten immer korrekt aufgebaut sind.

Beispiel Produkttyp:

screenshot 2025 07 18 140037

Damit legt man fest, dass ein Produkt immer einen Namen, Preis und Lagerbestand enthält – und nichts anderes.

Beispiel Warenwert berechnen:

screenshot 2025 07 18 140345

Durch die Definition des UDT kann man diesen jetzt als Parametertyp verwenden.

Verwendung:

screenshot 2025 07 18 140638

Listen-Typ

screenshot 2025 07 18 141014

Damit kann man Listen typisieren, somit kann man ganze Listen an Funktionen übergeben.

Weitere Funktion: RecordOf

Neben Type(…) steht auch die Funktion RecordOf(…) zur Verfügung. Sie erzeugt einen einzelnen Typ, der zu einem zuvor definierten Listen-Typ passt.

screenshot 2025 07 18 141825

Dabei ist ProduktlisteTyp ein vorher definierter Listen-Typ. RecordOf akzeptiert nicht direkt eine Type-Spezifikation wie Type(…), sondern erwartet den Namen eines bestehenden Listen-Typs. Das ist nützlich, wenn man z. B. ein neues Objekt mit derselben Struktur erstellen will, wie es bereits im Listen-Typ definiert wurde.

Vorteile von UDTs

  • Klare Datenstruktur, keine unklaren oder inkonsistenten Records mehr
  • Verbesserte Lesbarkeit und Dokumentation im Code
  • Ideal für Schnittstellen, Komponenten, Sammlungen
  • In Kombination mit UDFs: vollständige Kontrolle über Eingaben und Ausgaben

UDTs zur Verarbeitung von JSON-Daten aus Power Automate

Ein häufiger Anwendungsfall in Power Apps ist die Zusammenarbeit mit Power Automate. Power Automate liefert dabei manchmal strukturierte JSON-Daten zurück. Ohne klare Typisierung kann die Arbeit mit solchen Rückgaben fehleranfällig und unübersichtlich werden. Hier kann man User Defined Types (UDTs) ebenfalls verwenden.
Mit einem UDT kannst du die erwartete Struktur des JSON-Ergebnisses explizit festlegen, inklusive der Feldnamen und ihrer Typen. So erreichst du höhere Lesbarkeit und bessere Fehlerkontrolle.

Beispiel: Kundeninformationen aus einem Power Automate Flow

Ein Power Automate Flow gibt folgendes JSON-Objekt zurück:

screenshot 2025 07 21 090601

Für dieses JSON-Objekt könnte man die folgenden UDT’s definieren:

screenshot 2025 07 21 093905

Wenn man dann den Rückgabewert erhält, kann man diesen direkt typisiert weiterverwenden. Dazu verwendet man die Funktion ParseJSON(), man übergibt als erstes Argument das JSON-Objekt und als zweites Argument den zuvor erstellten UDT:

screenshot 2025 07 21 095414

Vorteile:

  • Sichere Weiterverarbeitung: Man kann direkt auf verschachtelte Daten zugreifen, ohne Angst vor Tippfehlern oder falschen Strukturen zu haben.
  • Bessere Zusammenarbeit: Wenn jemand anderes die App bearbeitet, macht ein definierter UDT sofort deutlich, welche Datenfelder existieren.

Einschränkungen & Hinweise

  • Nur mit aktiviertem Experimental-Modus verfügbar
  • Keine optionalen Parameter in UDFs möglich
  • Keine komplexen Typen wie Medien, Bilder oder Steuerelemente unterstützt
  • Verhaltensfunktionen nur mit {}-Block erlaubt

Fazit

Mit User Defined Functions (UDFs) und User Defined Types (UDTs) bekommt man in Power Fx zwei mächtige Werkzeuge an die Hand, die die App-Entwicklung professioneller machen:

  • UDFs sparen Zeit, reduzieren Redundanz und verbessern die Lesbarkeit deines Codes
  • UDTs sorgen dafür, dass deine Datenstruktur klar, nachvollziehbar und fehlertolerant bleibt

Gerade bei grösseren Apps oder wiederverwendbaren Komponenten bringen diese Features einen Mehrwert.

Beitrag teilen

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

IOZ_LOGO_weiss

Profis für M365-Intranets & digitale Arbeitsplätze, Power Apps, Power Automate Workflows, sowie Managementsysteme.

Angebote

Angebotsübersicht

   
Nach oben scrollen