IF
Dotyczy:kolumna obliczeniowa
tabela obliczeniowa
Miara
wizualizacji
Sprawdza warunek i zwraca jedną wartość, gdy jest 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ć w celu TRUE lub FALSE . |
value_if_true |
Wartość zwrócona, jeśli test logiczny jest TRUE . |
value_if_false |
(Opcjonalnie) Wartość zwrócona, jeśli test logiczny jest FALSE . W przypadku pominięcia zostanie zwrócona 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
ivalue_if_false
mają różne typy danych, ale funkcja próbuje zwrócić pojedynczy typ danych, jeśli zarównovalue_if_true
, jak ivalue_if_false
są typami danych liczbowych. W tym drugim przypadku funkcja IF będzie niejawnie konwertować typy danych, aby uwzględnić obie wartości.Na przykład formuła
IF(<condition>, TRUE(), 0)
zwracaTRUE
lub 0, ale formułaIF(<condition>, 1.0, 0)
zwraca tylko wartości dziesiętne, mimo żevalue_if_false
jest typu danych liczby całkowitej. 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 IF.EAGER zamiast tego.
Przykłady
Poniższe definicje kolumn obliczeniowych Product Używają funkcji IF na różne sposoby klasyfikowania każdego produktu na podstawie ceny katalogowej.
Pierwszy przykład sprawdza, czy wartość kolumny Cennik jest mniejsza niż 500. Gdy ten warunek ma wartość true, zwracana jest wartość Low. Ponieważ nie ma wartości value_if_false
, BLANK jest zwracana.
Przykłady w tym artykule mogą być używane z przykładowym modelem Adventure Works DW 2020 Power BI Desktop. Aby uzyskać model, zobacz DAX przykładowy model.
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 Low
lub High
.
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 Low
, Medium
lub High
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
Napiwek
Jeśli konieczne jest zagnieżdżanie wielu 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.