Läs på engelska

Dela via


IF

gäller för:beräknad kolumnberäknad tabellMeasurevisuell beräkning

Kontrollerar ett villkor, and returnerar en value när det TRUE, annars returneras en secondvalue.

Syntax

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

Parametrar

Term Definition
logical_test Alla valueor uttryck som kan utvärderas till TRUEorFALSE.
value_if_true Den value som returneras if det logiska testet är TRUE.
value_if_false (Valfritt) Den value som returneras if det logiska testet är FALSE. If utelämnas returneras BLANK.

Returnera value

Antingen value_if_true, value_if_false, orBLANK.

Anmärkningar

  • Funktionen IF kan returnera en variantdatatyp ifvalue_if_trueandvalue_if_false är av olika datatyper, men funktionen försöker returnera en enda datatyp if båda value_if_trueandvalue_if_false är av numeriska datatyper. I det senare fallet convert funktionen IF implicit för att hantera båda values.

    Formeln IF(<condition>, TRUE(), 0) returnerar till exempel TRUEor 0, men formeln IF(<condition>, 1.0, 0) returnerar endast decimaltecken valueseven ä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.EAGER i stället.

Exempel

Följande Product tabell beräknade kolumndefinitioner använder funktionen IF på olika sätt för att klassificera varje product baserat på dess lista price.

I det first exemplet testas om kolumnen List Pricevalue är mindre än 500. När det här villkoret är truereturneras valueLåg. Eftersom det inte finns någon value_if_falsevaluereturneras BLANK.

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

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

I det second exemplet används samma test, men den här time innehåller en value_if_falsevalue. Formeln klassificerar därför varje product som antingen LoworHigh.

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

Det tredje exemplet använder samma test, men den här time kapslar en IF funktion för att utföra ytterligare ett test. Formeln klassificerar därför varje product som antingen Low, Medium, orHigh.

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

Tips

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 mer än två möjliga values.

IF.EAGER funktion
SWITCH funktion (DAX)
Logiska funktioner