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 ä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. |
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.
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 formelnIF(<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.
Relaterat innehåll
OM. Funktionen EAGER
Funktionen SWITCH (DAX)
Logiska funktioner