IF

Gäller för:Beräknad kolumnBeräknad tabellMåttVisuell beräkning

Kontrollerar ett villkor och returnerar ett värde när det är TRUE, annars returneras ett andra värde.

Syntax

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Parametrar

Period Definition
logisk_test Valfritt värde eller uttryck som kan utvärderas till TRUE eller FALSE.
Värde_om_sant Värdet som returneras om det logiska testet är TRUE.
Värde_om_falskt (Valfritt) Värdet som returneras om det logiska testet är FALSE. Om det utelämnas returneras BLANK.

Returvärde

Antingen value_if_true, value_if_false eller BLANK.

Kommentarer

  • FUNKTIONEN IF kan returnera en variantdatatyp om value_if_true och value_if_false har olika datatyper, men funktionen försöker returnera en enda datatyp om både value_if_true och value_if_false är av numeriska datatyper. I det senare fallet konverterar IF-funktionen implicit datatyper för att hantera båda värdena.

    Formeln IF(<condition>, TRUE(), 0) returnerar till exempel TRUE eller 0, men formeln IF(<condition>, 1.0, 0) returnerar endast decimalvärden även om value_if_false är av datatypen heltal. Mer information om implicit datatypkonvertering finns i Datatyper.

  • Om du vill köra grenuttrycken oavsett villkorsuttrycket använder du IF. IVRIG Istället.

Exempel

Följande produkttabells beräknade kolumndefinitioner använder FUNKTIONEN IF på olika sätt för att klassificera varje produkt baserat på listpriset.

I det första exemplet testas om kolumnvärdet Listpris är mindre än 500. När det här villkoret är sant returneras värdet Låg . Eftersom det inte finns något value_if_false värde returneras BLANK.

Exempel i den här artikeln kan användas med exempelmodellen Adventure Works DW 2020 Power BI Desktop. Information om hur du hämtar modellen finns i DAX-exempelmodellen.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low"
)

I det andra exemplet används samma test, men den här gången ingår ett value_if_false värde. Formeln klassificerar därför varje produkt som antingen Låg eller Hög.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    "High"
)

Det tredje exemplet använder samma test, men den här gången kapslas en IF-funktion för att utföra ytterligare ett test. Formeln klassificerar därför varje produkt som antingen Låg, Medel eller Hög.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    IF(
        'Product'[List Price] < 1500,
        "Medium",
        "High"
    )
)

Dricks

När du behöver kapsla flera IF-funktioner kan funktionen SWITCH vara ett bättre alternativ. Den här funktionen ger ett mer elegant sätt att skriva ett uttryck som returnerar fler än två möjliga värden.

OM. Funktionen EAGER
Funktionen SWITCH (DAX)
Logiska funktioner