IF
Vzťahuje sa na:vypočítaný stĺpec
vypočítanej tabuľky
vizuálového výpočtu
Skontroluje podmienku a keď je TRUE
, vráti jednu hodnotu, v opačnom prípade vráti druhú hodnotu.
Syntax
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parametre
Termín | Definícia |
---|---|
logical_test |
Ľubovoľná hodnota alebo výraz, ktorý možno vyhodnotiť na TRUE alebo FALSE . |
value_if_true |
Hodnota, ktorá sa vráti v prípade, že logický test je TRUE . |
value_if_false |
(Voliteľné) Hodnota, ktorá sa vráti v prípade, že logický test je FALSE . Ak sa vynechá, vráti sa BLANK. |
Vrátená hodnota
Buď value_if_true
, value_if_false
, alebo BLANK
.
Poznámky
Funkcia IF môže vrátiť variantný typ údajov, ak
value_if_true
avalue_if_false
sú rôznych typov údajov, ale funkcia sa pokúsi vrátiť jeden typ údajov, akvalue_if_true
ajvalue_if_false
sú číselnými typmi údajov. V druhom prípade funkcia IF implicitne konvertuje typy údajov tak, aby sa prispôsobili obom hodnotám.Napríklad vzorec
IF(<condition>, TRUE(), 0)
vrátiTRUE
alebo 0, ale vzorecIF(<condition>, 1.0, 0)
vráti iba desatinné hodnoty, aj keď jevalue_if_false
údajového typu celé číslo. Ďalšie informácie o implicitnej konverzii typu údajov nájdete v téme Typy údajov.Ak chcete vykonať výrazy vetvy bez ohľadu na výraz podmienky, použite namiesto toho IF.EAGER.
Príklady
Nasledujúce definície vypočítaných stĺpcov tabuľky Product používajú funkciu IF rôznymi spôsobmi na klasifikáciu jednotlivých produktov na základe ich jednotkovej ceny.
V prvom príklade sa testuje, či je hodnota Jednotková cena stĺpci menšia ako 500. Keď je táto podmienka pravdivá, vráti sa hodnota Nízka. Keďže neexistuje žiadna value_if_false
hodnota, vráti sa BLANK.
Príklady v tomto článku možno použiť so vzorovým modelom aplikácie Power BI Desktop Adventure Works DW 2020. Ak chcete získať model, pozrite si DAX ukážkový model.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
Druhý príklad používa rovnaký test, tentokrát však obsahuje hodnotu value_if_false
. Vzorec tak klasifikuje každý produkt buď ako Low
alebo High
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
Tretí príklad používa rovnaký test, ale tentokrát vnára funkciu IF na vykonanie ďalšieho testu. Vzorec tak klasifikuje každý produkt buď ako Low
, Medium
alebo High
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
Tip
Keď potrebujete vnoriť viacero funkcií IF, lepšou možnosťou môže byť funkcia SWITCH. Táto funkcia poskytuje elegantnejší spôsob, ako zapísať výraz, ktorý vracia viac ako dve možné hodnoty.