Die Funktionen „Blank“, „Coalesce“, „IsBlank“ und „IsEmpty“

Gilt für: Canvas-Apps Desktop-Flows Dataverse Formelspalten Modellgesteuerte Apps Power Platform CLI

Prüft, ob ein Wert leer ist oder eine Tabelle keine Datensätze enthält, und stellt ein Verfahren zum Erstellen von leeren Werten zur Verfügung.

Überblick

Leer ist ein Platzhalter für Kein Wert oder Unbekannter Wert. Beispielsweise ein Kombo-Kästchen Steuerelement Ausgewählte Eigenschaft ist leer, wenn der Benutzer keine Auswahl getroffen hat. Viele Datenquellen können NULL-Werte speichern und zurückgeben, die in Power Apps als blank dargestellt werden.

Jede Eigenschaft und jeder berechnete Wert in Power Apps kann blank sein. Ein boolescher Wert weist normalerweise einen von zwei Werten auf: TRUE oder FALSE. Aber zusätzlich zu diesen beiden kann es auch leer sein. Dies zeigt an, dass der Status nicht bekannt ist. Dies ist vergleichbar mit Microsoft Excel, wo eine Zelle eines Arbeitsblatts zunächst ohne Inhalt ist, aber u.a. auch die Werte TRUE und FALSE enthalten darf. Der Inhalt der Zelle kann wieder gelöscht werden, sodass die Zelle dann wieder blank wäre.

Leere Zeichenfolge bezieht sich auf eine Zeichenfolge, die keine Zeichen enthält. Das Len-Funktion gibt für eine solche Zeichenfolge Null zurück und kann in Formeln als zwei doppelte Anführungszeichen mit nichts zwischen "" geschrieben werden. Einige Steuerelemente und Datenquellen verwenden eine leere Zeichenfolge, um eine Bedingung „kein Wert“ anzuzeigen. Um die App-Erstellung zu vereinfachen, testen die Funktionen IsBlank und Coalesce auf blank-Werte oder leere Zeichenfolgen.

Im Rahmen der IsEmpty-Funktion gilt empty für Tabellen, die keine Datensätze enthalten. Die Tabellenstruktur ist möglicherweise mit Spaltennamen intakt, enthält jedoch keine Werte. Eine Tabelle kann zunächst leer sein, Datensätzen aufnehmen und dann nicht mehr leer sein, und dann erneut leer sein, wenn die Datensätze entfernt werden.

Notiz

Wir befinden uns in einer Übergangsphase. Bis jetzt wurde blank auch verwendet, um Fehler zu melden, wodurch es unmöglich ist, einen gültigen „Kein Wert“ von einem Fehler zu unterscheiden. Aus diesem Grund wird das Speichern von blank-Werten nur für lokale Sammlungen unterstützt. Sie können leere Werte in anderen Datenquellen speichern, wenn Sie die experimentelle Funktion Formel-Level-Fehlerverwaltung unter Einstellungen>Künftige Funktionen>Experimentell einschalten. Wir arbeiten aktiv daran, diese Funktion fertigzustellen und die korrekte Trennung von Leerzeichen-Werten von Fehlern zu vollenden.

Leer

Gilt für: Canvas-Apps Modellgesteuerte Apps Dataverse-Formelspalten

Die Funktion Blank gibt einen leeren Wert zurück. Sie können sie verwenden, um einen NULL-Wert in einer Datenquelle zu speichern, die diese Werte unterstützt, wodurch effektiv jeder Wert aus dem Feld entfernt wird.

IsBlank

Gilt für: Canvas-Apps Modellgesteuerte Apps

Die IsBlank-Funktion überprüft einen leeren Wert oder eine leere Zeichenfolge. Der Test enthält leere Zeichenfolgen, um die App-Erstellung zu vereinfachen, da einige Datenquellen und Steuerelemente eine leere Zeichenfolge verwenden, wenn kein Wert vorhanden ist. Um speziell auf einen leeren Wert zu testen, verwenden Sie if( Value = Blank(), ... statt IsBlank. Die Funktion IsBlank betrachtet leere Tabellen als nicht leer und IsEmpty sollte zum Testen einer Tabelle verwendet werden.

Bei der Aktivierung der Fehlerbehandlung für bestehende Apps sollten Sie das Ersetzen von isBlank mit IsBlankOrError in Betracht ziehen, um das Verhalten der bestehenden App zu bewahren. Vor dem Hinzufügen der Fehlerbehandlung wurde ein leerer Wert verwendet, um sowohl Nullwerte aus Datenbanken als auch Fehlerwerte darzustellen. Die Fehlerbehandlung trennt diese beiden Interpretationen von leer, was das Verhalten bestehender Apps ändern könnte, die weiterhin für Ist leer verwendet werden.

Der Rückgabewert beider Funktionen für IsBlank ist der boolescher Wert TRUE oder FALSE.

Coalesce

Gilt für: Canvas-Apps Modellgesteuerte Apps

Die Coalesce-Funktion wertet ihre Argumente der Reihe nach aus und gibt den ersten Wert zurück, der nicht leer oder eine leere Zeichenfolge ist. Verwenden Sie diese Funktion, um einen leeren Wert oder leere Zeichenfolge mit einem anderen Wert zu ersetzen, aber nicht leere Zeichenfolgenwerte unverändert zu lassen. Wenn alle Argumente leer oder leere Strings sind, dann gibt die Funktion leer zurück, Zusammenfügen ist eine gute Möglichkeit, leere Zeichenfolgen in leere Werte umzuwandeln.

Coalesce( value1, value2 ) ist das prägnantere Äquivalent von If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) und value1 und value2 müssen nicht zweimal ausgewertet werden. Die If-Funktion gibt leer zurück, wenn es keine "else"-Formel gibt, wie es hier der Fall ist.

Alle Argumente von Coalesce müssen vom selben Typ sein; es können nicht Zahlen und Textzeichenfolgen gleichzeitig angegeben werden. Der Rückgabewert von Zusammenfügen besteht aus diesem allgemeinen Typ.

IsEmpty

Gilt für: Canvas-Apps Modellgesteuerte Apps

Die IsEmpty-Funktion prüft, ob eine Tabelle keine Datensätze enthält. Dies entspricht dem Einsatz der CountRows-Funktion und dem Prüfen auf 0. Sie können nach Fehlern in Datenquellen suchen, indem Sie IsEmpty mit der Errors-Funktion kombinieren.

Der Rückgabewert beider Funktionen für IsEmpty ist der boolescher Wert TRUE oder FALSE.

Syntax

Blank()

Coalesce( Value1 [, Value2, ... ] )

  • Wert(e) – Erforderlich. Die zu testenden Werte. Jeder Wert wird der Reihe nach ausgewertet, bis ein Wert erreicht ist, der nicht leer ist und es wird keine leere Zeichenfolge gefunden. Werte nach diesem Punkt werden nicht ausgewertet.

IsBlank( Value )

  • Wert – Erforderlich. Wert zum Testen auf einen leeren Wert oder eine leere Zeichenfolge.

IsEmpty( Table )

  • Table – Erforderlich. Tabelle, die auf Datensätze geprüft werden soll

Beispiele

Leer

Notiz

Aktuell funktioniert das folgende Beispiel nur mit lokalen Sammlungen. Sie können leere Werte in anderen Datenquellen speichern, wenn Sie die experimentelle Funktion Formel-Level-Fehlerverwaltung unter Einstellungen>Künftige Funktionen>Experimentell einschalten. Wir arbeiten aktiv daran, diese Funktion fertigzustellen und die Trennung von Leerzeichen-Werten von Fehlern zu vervollständigen.

  1. Erstellen Sie eine Anwendung von Grund auf, und fügen Sie ein Button-Steuerelement hinzu.

  2. Legen Sie die OnSelect-Eigenschaft auf die folgende Formel fest:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Führen Sie eine Vorschau Ihrer App aus, klicken oder tippen Sie auf die hinzugefügte Schaltfläche, und schließen Sie dann die Vorschau.

  4. Klicken oder tippen Sie im Menü Datei auf Sammlungen.

    Die Sammlung Cities wird angezeigt und enthält einen Datensatz mit „Seattle“ und „Rainy“:

    Sammlung, die Seattle bei Regen zeigt

  5. Klicken oder tippen Sie auf den Rückwärtspfeil, um zum Standardarbeitsbereich zurückzukehren.

  6. Fügen Sie ein Label-Steuerelement hinzu, und legen Sie dessen Text-Eigenschaft auf diese Formel fest:

    IsBlank( First( Cities ).Weather )
    

    Die Bezeichnung zeigt FALSCH an, da das Feld Weather einen Wert („Rainy“) enthält.

  7. Fügen Sie eine zweite Schaltfläche hinzu, und legen Sie ihre OnSelect-Eigenschaft auf diese Formel fest:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Führen Sie eine Vorschau Ihrer App aus, klicken oder tippen Sie auf die hinzugefügte Schaltfläche, und schließen Sie dann die Vorschau.

    Das Feld Weather des ersten Datensatzes in Cities wird durch ein leeres Element ersetzt, wodurch der vorherige Wert „Rainy“ entfernt wird.

    Sammlung, die Seattle mit einem leeren Feld „Weather“ enthält

    Die Bezeichnung zeigt WAHR an, da das Feld Weather keinen Wert mehr enthält.

Coalesce

Formel Beschreibung Ergebnis
Coalesce( Blank(), 1 ) Prüft den Rückgabewert der Funktion Blank, die immer einen leeren Wert zurückgibt. Da das erste Argument leer ist, wird mit der Auswertung des nächsten Arguments fortgefahren, bis ein nicht leerer Wert und eine nicht leere Zeichenfolge gefunden wird. 1
Coalesce( "", "2" ) Testet das erste Argument, bei dem es sich um eine leere Zeichenfolge handelt. Da das erste Argument eine leere Zeichenfolge ist, wird mit der Auswertung des nächsten Arguments fortgefahren, bis ein nicht leerer Wert und eine nicht leere Zeichenfolge gefunden wird. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce beginnt am Anfang der Argumentliste und wertet nacheinander jedes Argument aus, bis ein nicht leerer Wert und eine nicht leere Zeichenfolge gefunden wird. In diesem Fall geben die ersten vier Argumente blank (leer) oder eine leere Zeichenfolge zurück, sodass die Auswertung mit dem fünften Argument fortgesetzt wird. Das fünfte Argument ist nicht leer und keine leere Zeichenfolge, daher wird die Auswertung hier gestoppt. Der Wert des fünften Arguments wird zurückgegeben, und das sechste Argument wird nicht ausgewertet. 3
Coalesce( "" ) Testet das erste Argument, bei dem es sich um eine leere Zeichenfolge handelt. Da das erste Argument eine leere Zeichenfolge ist und keine weiteren Argumente vorhanden sind, gibt die Funktion leer zurück. leer

IsBlank

  1. Erstellen Sie eine App von Grund auf, fügen Sie ein Texteingabe-Steuerelement hinzu, und benennen Sie es FirstName.

  2. Fügen Sie eine Bezeichnung hinzu, und legen Sie deren Eigenschaft Text auf diese Funktion fest:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    Standardmäßig ist die Eigenschaft Text eines Texteingabe-Steuerelements auf „Texteingabe“ festgelegt. Da die Eigenschaft einen Wert enthält, ist sie nicht leer, und die Bezeichnung zeigt keinerlei Nachricht an.

  3. Entfernen Sie alle Zeichen aus dem Texteingabe-Steuerelement, einschließlich Leerzeichen.

    Da die Eigenschaft Text keine Zeichen mehr enthält, ist sie eine leere Zeichenfolge und IsBlank( FirstName.Text ) ist daher WAHR. Die Meldung für ein erforderliches Feld wird angezeigt.

Informationen für die Validierung mithilfe anderer Tools finden Sie bei der Funktion Validate und unter Arbeiten mit Datenquellen.

Weitere Beispiele:

Formel Beschreibung Ergebnis
IsBlank( Blank() ) Prüft den Rückgabewert der Funktion Blank, die immer einen leeren Wert zurückgibt. true
IsBlank( "" ) Eine Zeichenfolge, die keine Zeichen enthält true
IsBlank ("Hello") Eine Zeichenfolge, die ein oder mehrere Zeichen enthält false
IsBlank ( AnyCollection ) Da die Sammlung vorhanden ist, ist sie nicht leer, auch wenn sie keine Datensätze enthält. Verwenden Sie stattdessen zum Überprüfen auf eine leeren Sammlung IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) Das Anfangszeichen für Mid befindet sich hinter dem Ende der Zeichenfolge. Das Ergebnis ist eine leere Zeichenfolge. true
IsBlank( If( false, false ) ) Eine If-Funktion ohne ElseResult. Da die Bedingung immer FALSE ist, gibt diese If-Funktion immer blank zurück. true

IsEmpty

  1. Erstellen Sie eine Anwendung von Grund auf, und fügen Sie ein Button-Steuerelement hinzu.

  2. Legen Sie die OnSelect-Eigenschaft auf die folgende Formel fest:

    Collect( IceCream, { Flavor: „Strawberry“, Quantity: 300 }, { Flavor: „Chocolate“, Quantity: 100 } )

  3. Führen Sie eine Vorschau Ihrer App aus, klicken oder tippen Sie auf die hinzugefügte Schaltfläche, und schließen Sie dann die Vorschau.

    Eine Sammlung mit dem Namen IceCream wird erstellt und enthält diese Daten:

    Eine Tabelle mit Erdbeer- und Schokoladenaroma mit der Menge 300 und 100

    Diese Sammlung verfügt über zwei Datensätze und ist nicht leer. IsEmpty( IceCream ) gibt FALSE zurück, und CountRows( IceCream ) gibt 2 zurück.

  4. Fügen Sie eine zweite Schaltfläche hinzu, und legen Sie ihre OnSelect-Eigenschaft auf diese Formel fest:

    Clear( IceCream )

  5. Führen Sie eine Vorschau Ihrer App aus, klicken oder tippen Sie auf die zweite Schaltfläche, und schließen Sie dann die Vorschau.

    Die Sammlung ist jetzt leer:

    Eine Sammlung mit Aroma und Menge als leere Sammlung

    Die Clear-Funktion entfernt alle Datensätze aus einer Sammlung, woraus sich eine leere Sammlung ergibt. IsEmpty( IceCream ) gibt TRUE und CountRows( IceCream ) gibt 0 zurück.

Sie können auch IsEmpty verwenden, um zu prüfen, ob eine berechnete Tabelle leer ist, wie diese Beispiele zeigen:

Formel Beschreibung Ergebnis
IsEmpty( [ 1, 2, 3 ] ) Die einspaltige Tabelle enthält drei Datensätze und ist daher nicht leer. false
IsEmpty( [ ] ) Die einspaltige Tabelle enthält keine Datensätze und ist leer. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Die einspaltige Tabelle enthält keine Werte, die größer als 5 sind. Das Ergebnis des Filters enthält keine Datensätze und ist leer. true