IF
Kontrollerar ett villkor och returnerar ett värde när det är TRUE och annars ett annat värde.
Syntax
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parametrar
| Period | Definition |
|---|---|
| logical_test | Ett 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 ett tomt värde. |
Returvärde
Antingen value_if_true, value_if_false eller BLANK.
Kommentarer
Funktionen IF kan returnera en delad datatyp 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 har numeriska datatyper. I det senare fallet kommer funktionen IF att implicit konvertera datatyper för att hantera båda värdena.
Formeln returnerar till exempel TRUE eller 0, men formeln returnerar bara decimalvärden även om value_if_false är av
IF(<condition>, TRUE(), 0)IF(<condition>, 1.0, 0)datatypen helt tal.IF(<condition>, TRUE(), 0)Mer information om implicit datatypskonvertering finns i Datatyper.Om du vill köra grenuttrycken oavsett villkorsuttryck använder du IF. EAGER i stället.
Exempel
Följande beräknade kolumndefinitioner för tabellen Product använder funktionen IF på olika sätt till att klassificera varje produkt baserat på priset.
Det första exemplet testar om värdet i kolumnen List Price är mindre än 500. Om det här villkoret är sant returneras värdet Low. Eftersom det inte finns något värde för value_if_false returneras BLANK.
Exempel i den här artikeln kan läggas till i Power BI Desktop exempelmodellen. Information om hur du hämtar modellen finns i DAX-exempelmodellen.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
Det andra exemplet använder samma test, men den här gången med ett värde för value_if_false. Formeln klassificerar alltså 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 med en inkapslad IF-funktion som utföra ett ytterligare test. Formeln klassificerar alltså varje produkt som antingen Low eller Medium eller High.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
Tips
Om du behöver kapsla flera IF-funktioner kan funktionen SWITCH vara ett bättre alternativ. Den här funktionen är ett mer elegant sätt att skriva uttryck som kan returnera fler än två möjliga värden.
Se även
OM. FUNKTIONEN EAGER
Funktionen SWITCH (DAX)
Logiska funktioner