IF
Dotyczy: Obliczanie kolumny obliczeniowej tabeli Obliczeniowej Obliczenie wizualizacji
Sprawdza warunek i zwraca jedną wartość, gdy ma wartość TRUE, w przeciwnym razie zwraca drugą wartość.
Składnia
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parametry
Termin | Definicja |
---|---|
logical_test | Dowolna wartość lub wyrażenie, które można ocenić na wartość TRUE lub FALSE. |
value_if_true | Wartość zwrócona, jeśli test logiczny ma wartość TRUE. |
value_if_false | (Opcjonalnie) Wartość zwrócona, jeśli test logiczny to FALSE. W przypadku pominięcia zwracana jest wartość BLANK. |
Wartość zwracana
Value_if_true, value_if_false lub BLANK.
Uwagi
Funkcja IF może zwrócić typ danych wariantu, jeśli value_if_true i value_if_false mają różne typy danych, ale funkcja próbuje zwrócić pojedynczy typ danych, jeśli zarówno value_if_true , jak i value_if_false są typami danych liczbowych. W tym ostatnim przypadku funkcja IF będzie niejawnie konwertować typy danych, aby uwzględnić obie wartości.
Na przykład formuła
IF(<condition>, TRUE(), 0)
zwraca wartość TRUE lub 0, ale formułaIF(<condition>, 1.0, 0)
zwraca tylko wartości dziesiętne, mimo że value_if_false jest typu danych liczb całkowitych. Aby dowiedzieć się więcej na temat niejawnej konwersji typów danych, zobacz Typy danych.Aby wykonać wyrażenia gałęzi niezależnie od wyrażenia warunku, użyj instrukcji IF. Zamiast tego CHĘTNI .
Przykłady
Poniższa tabela Product (Produkt) — definicje kolumn obliczeniowych używają funkcji IF na różne sposoby klasyfikowania każdego produktu na podstawie ceny katalogowej.
Pierwszy przykład sprawdza, czy wartość kolumny List Price jest mniejsza niż 500. Gdy ten warunek ma wartość true, zwracana jest wartość Niska . Ponieważ nie ma wartości value_if_false , zwracana jest wartość BLANK.
Przykłady w tym artykule mogą być używane z przykładowym modelem Adventure Works DW 2020 Power BI Desktop. Aby uzyskać model, zobacz przykładowy model języka DAX.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
Drugi przykład używa tego samego testu, ale tym razem zawiera wartość value_if_false . Dlatego formuła klasyfikuje każdy produkt jako Niski lub Wysoki.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
Trzeci przykład używa tego samego testu, ale tym razem zagnieżdża funkcję IF do wykonania dodatkowego testu. Dlatego formuła klasyfikuje każdy produkt jako Niski, Średni lub Wysoki.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
Napiwek
Jeśli musisz zagnieżdżać wiele funkcji IF, funkcja SWITCH może być lepszym rozwiązaniem. Ta funkcja zapewnia bardziej elegancki sposób na napisanie wyrażenia, które zwraca więcej niż dwie możliwe wartości.
Powiązana zawartość
JEŚLI. EAGER, funkcja
SWITCH, funkcja (DAX)
Funkcje logiczne