IF
gäller för:beräknad kolumn
beräknad tabell
Mått
Visuell beräkning
Kontrollerar ett villkor och returnerar ett värde när det TRUE
, annars returneras ett andra värde.
Syntax
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parametrar
Term | Definition |
---|---|
logical_test |
Valfritt värde eller uttryck som kan utvärderas till TRUE eller FALSE . |
value_if_true |
Värdet som returneras om det logiska testet är TRUE . |
value_if_false |
(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
.
Anmärkningar
Funktionen IF kan returnera en variantdatatyp om
value_if_true
ochvalue_if_false
är av olika datatyper, men funktionen försöker returnera en enda datatyp om bådevalue_if_true
ochvalue_if_false
är av numeriska datatyper. I det senare fallet konverterar funktionen IF implicit datatyper för att hantera båda värdena.Formeln
IF(<condition>, TRUE(), 0)
returnerar till exempelTRUE
eller 0, men formelnIF(<condition>, 1.0, 0)
returnerar endast decimalvärden ä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 definitioner av beräknade kolumner i tabellen Product 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 exempelmodell.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
Det andra exemplet använder samma test, men den här gången innehåller ett value_if_false
värde. Formeln klassificerar därför varje produkt som antingen Low
eller High
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
I det tredje exemplet används 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 Low
, Medium
eller High
.
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.