Udostępnij za pośrednictwem


IF

Dotyczy:kolumna obliczeniowatabela obliczeniowaMiarawizualizacji

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_falselub 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 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) zwraca TRUE lub 0, ale formuła IF(<condition>, 1.0, 0) zwraca tylko wartości dziesiętne, mimo że 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 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, Mediumlub 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.

funkcja IF.EAGERSWITCH (DAX)funkcje logiczne