IF
Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne
Sprawdza warunek, and zwraca jeden value, gdy jest TRUE
, w przeciwnym razie zwraca secondvalue.
Składnia
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parametry
Termin | Definicja |
---|---|
logical_test |
Dowolne wyrażenie valueor, które można ocenić w celu TRUE orFALSE . |
value_if_true |
Zwrócona valueifif test logiczny jest . |
value_if_false |
(Opcjonalnie) Zwrócona valueifif test logiczny jest . If pominięty, BLANK jest zwracany. |
Zwracanie value
Albo value_if_true
, value_if_false
, orBLANK
.
Uwagi
Funkcja IF może zwrócić typ danych wariantu, if
value_if_true
andvalue_if_false
są różne typy danych, ale funkcja próbuje zwrócić pojedynczy typ danych if obavalue_if_true
andvalue_if_false
są typami danych liczbowych. W tym ostatnim przypadku funkcja IF będzie niejawnie convert typów danych, aby pomieścić oba values.Na przykład formuła
IF(<condition>, TRUE(), 0)
zwracaTRUE
or 0, ale formułaIF(<condition>, 1.0, 0)
zwraca tylko valueseven dziesiętne, chociażvalue_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 w tabeli Product używają funkcji IF na różne sposoby klasyfikowania poszczególnych product na podstawie jej listy price.
Przykładowy first sprawdza, czy kolumna Price listy value jest mniejsza niż 500. Gdy ten warunek jest true, zwracany jest valueNiski. Ponieważ nie ma value_if_false
value, zwracany jest BLANK.
Przykłady w tym artykule mogą być używane z modelem sample Adventure Works DW 2020 Power BI Desktop. Aby uzyskać model, zobacz DAXsample model.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
W przykładzie second jest używany ten sam test, ale ten time zawiera value_if_false
value. Dlatego formuła klasyfikuje każdą product jako jedną z Low
orHigh
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
Trzeci przykład używa tego samego testu, ale ten time zagnieżdża funkcję IF w celu wykonania dodatkowego testu. Dlatego formuła klasyfikuje każdą product jako Low
, Medium
, orHigh
.
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 zwracającego więcej niż dwa możliwe values.