IF

Prüft eine Bedingung und gibt einen Wert zurück, wenn diese TRUE ist; andernfalls wird ein zweiter Wert zurückgegeben.

Syntax

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Parameter

Begriff Definition
logical_test Ein beliebiger Wert oder Ausdruck, der als TRUE oder FALSE ausgewertet werden kann.
value_if_true Der Wert, der zurückgegeben wird, wenn der logische Test TRUE ist.
value_if_false (Optional) Der Wert, der zurückgegeben wird, wenn der logische Test FALSE ist. Wird er weggelassen, wird BLANK zurückgegeben.

Rückgabewert

Entweder value_if_true, value_if_false oder BLANK.

Bemerkungen

  • Die IF-Funktion kann einen Variantdatentyp zurückgeben, wenn die Datentypen von value_if_true und value_if_false unterschiedlich sind, aber die Funktion versucht, einen einzelnen Datentyp zurückzugeben, wenn sowohl value_if_true als auch value_if_false ein numerischer Datentyp ist. Im letzteren Fall konvertiert die IF-Funktion Datentypen implizit, sodass beide Werte berücksichtigt werden.

    Beispielsweise gibt die Formel IF(<condition>, TRUE(), 0) TRUE oder 0 zurück, aber die Formel IF(<condition>, 1.0, 0) gibt nur Dezimalwerte zurück, obwohl value_if_false den Ganzzahl-Datentyp hat. Weitere Informationen zur impliziten Datentypkonvertierung finden Sie unter Datentypen.

  • Verwenden Sie IF.EAGER, um den Branchausdruck unabhängig vom Bedingungsausdruck auszuführen.

Beispiele

Die berechneten Spaltendefinitionen der folgenden Product-Tabelle verwenden die IF-Funktion in verschiedener Weise, um jedes Produkt auf der Grundlage seines Listenpreises zu klassifizieren.

Im ersten Beispiel wird geprüft, ob der Spaltenwert von List Price kleiner als 500 ist. Wenn diese Bedingung erfüllt ist, wird der Wert Low zurückgegeben. Da es keinen Wert für value_if_false gibt, wird BLANK zurückgegeben.

Die Beispiele in diesem Artikel können mit dem Adventure Works SW 2020 Power BI Desktop Beispielmodell verwendet werden. Informationen zum Abrufen des Modells finden Sie unter DAX-Beispielmodell.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low"
)

Im zweiten Beispiel wird die gleiche Prüfung verwendet, diesmal ist jedoch ein Wert für value_if_false angegeben. Die Formel klassifiziert daher jedes Produkt als entweder Low oder High.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    "High"
)

Im dritten Beispiel wird die gleiche Prüfung verwendet, dieses Mal jedoch mit einer verschachtelten IF-Funktion zum Durchführen einer weiteren Prüfung. Die Formel klassifiziert in dieser Weise jedes Produkt als entweder Low, Medium oder High.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    IF(
        'Product'[List Price] < 1500,
        "Medium",
        "High"
    )
)

Tipp

Wenn Sie mehrere IF-Funktionen verschachteln müssen, stellt die Funktion SWITCH möglicherweise die bessere Wahl dar. Diese Funktion stellt eine elegantere Methode zum Schreiben eines Ausdrucks dar, der mehr als zwei mögliche Werte zurückgibt.

IF.EAGER-Funktion
SWITCH-Funktion (DAX)
Logische Funktionen