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 TRUE orFALSE . |
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 if
value_if_true
andvalue_if_false
är av olika datatyper, men funktionen försöker returnera en enda datatyp if bådavalue_if_true
andvalue_if_false
är av numeriska datatyper. I det senare fallet IF funktionen convert implicit för att hantera båda values.Formeln
IF(<condition>, TRUE(), 0)
returnerar till exempelTRUE
or 0, men formelnIF(<condition>, 1.0, 0)
returnerar endast decimaltecken valueseven även omvalue_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_false
valuereturneras 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_false
value. Formeln klassificerar därför varje product som antingen Low
orHigh
.
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"
)
)
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 mer än två möjliga values.