IF
Vzťahuje sa na: Vypočítaný stĺpec Vypočítaná tabuľka Výpočet mierky Vizuál
Skontroluje podmienku a keď je splnená (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
Obdobie | Definícia |
---|---|
logický_test | Všetky hodnoty alebo výrazy, ktoré možno vyhodnotiť na hodnotu TRUE alebo FALSE. |
value_if_true | Hodnota, ktorá sa vráti v prípade, že logický test skončí s hodnotou TRUE. |
value_if_false | (Voliteľné) Hodnota, ktorá sa vráti v prípade, že logický test skončí s hodnotou FALSE. Ak je tento parameter vynechaný, vráti sa hodnota 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 a value_if_false sú rôznymi typmi údajov, ale funkcia sa pokúsi vrátiť jeden typ údajov, ak value_if_true aj value_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áti hodnotu TRUE alebo 0, ale vzorecIF(<condition>, 1.0, 0)
vráti iba desatinné hodnoty, aj keď value_if_false je typom údajov 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 if . NAMIESTO TOHO SA NEDOČKAVÝ .
Príklady
Nasledujúce definície vypočítaných stĺpcov tabuľky Produkt 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 stĺpca Jednotková cena menšia ako 500. Keď je táto podmienka pravdivá, vráti sa hodnota Nízka . Pretože neexistuje žiadna value_if_false hodnota, vráti sa hodnota 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ť tento model, pozrite si tému Ukážkový model DAX.
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 Nízka alebo Vysoká.
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 Nízka, Stredná alebo Vysoká.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
Prepitné
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.