Freigeben über


FALLS-Funktion (DAX)

Überprüft, ob eine Bedingung angegeben ist, sobald das erste Argument erfüllt wird. Gibt einen Wert zurück, wenn die Bedingung "TRUE" ist, und gibt einen anderen Wert zurück, wenn die Bedingung "FALSE" ist.

Syntax

IF(logical_test>,<value_if_true>, value_if_false)

Parameter

Ausdruck

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. Wird dies weggelassen, wird TRUE zurückgegeben.

value_if_false

Der Wert, der zurückgegeben wird, wenn der logische Test FALSE ist. Wird dies weggelassen, wird FALSE zurückgegeben.

Rückgabewert

Ein beliebiger Werttyp, der von einem Ausdruck zurückgegeben werden kann.

Hinweise

Wenn der Wert value_if_true oder value_if_false weggelassen wird, behandelt IF ihn als leeren Zeichenfolgenwert ("").

Wenn der im Ausdruck referenzierte Wert eine Spalte ist, gibt IF den Wert zurück, der der aktuellen Zeile entspricht.

Die FALLS-Funktion versucht, einen einzelnen Datentyp in einer Spalte zurückzugeben. Wenn die von value_if_true und value_if_false zurückgegebenen Werte unterschiedliche Datentypen aufweisen, konvertiert die FALLS-Funktion die Datentypen daher implizit, um beide Werte in der Spalte unterbringen zu können. Die Formel IF(<condition>,TRUE(),0) gibt z. B. eine Spalte mit Einsen und Nullen zurück, und die Ergebnisse können zusammengezählt werden, aber die Formel IF(<condition>,TRUE(),FALSE()) gibt nur logische Werte zurück. Weitere Informationen zur impliziten Datentypkonvertierung finden Sie unter In PowerPivot-Arbeitsmappen unterstützte Datentypen.

Beispiel

Im folgenden Beispiel werden geschachtelte IF-Funktionen verwendet, die die Zahl in der Spalte "Calls" der Tabelle "FactCallCenter" in Adventure Works DW2008R2 auswerten. Die Funktion weist eine Bezeichnung wie folgt zu: low, wenn die Anzahl der Anrufe kleiner als 200 ist, medium, wenn die Anzahl der Anrufe kleiner als 300, aber nicht kleiner als 200 ist, und high für alle anderen Werte.

=IF([Calls]<200,"low",IF([Calls]<300,"medium","high"))

Im folgenden Beispiel wird eine Liste von Orten mit potenziellen Kunden in Kalifornien unter Verwendung von Spalten der Tabelle "ProspectiveBuyer" in Adventure Works DW2008R2 abgerufen. Da die Liste für die Planung einer Kampagne vorgesehen ist, die auf verheiratete Personen oder Personen mit Kindern abzielt, die noch im selben Haushalt leben, prüft die Bedingung in der IF-Funktion den Wert der Spalten [MaritalStatus] und [NumberChildrenAtHome] und gibt den Ort aus, wenn eine von beiden Bedingungen erfüllt ist und der Kunde in Kalifornien wohnt. Andernfalls wird eine leere Zeichenfolge ausgegeben. 

=IF([StateProvinceCode]= "CA" && ([MaritalStatus] = "M" || [NumberChildrenAtHome] >1),[City])

Beachten Sie, dass Klammern verwendet werden, um die Reihenfolge zu steuern, in der die AND- (&&) and OR-Operatoren (||) verwendet werden. Beachten Sie auch, dass kein Wert für value_if_false angegeben wurde. Daher gibt die Funktion den Standardwert zurück, der eine leere Zeichenfolge ist.