Zdieľať cez


IF

Vzťahuje sa na:vypočítaný stĺpecvypočítanej tabuľkyvizuá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 a value_if_false sú rôznych typov ú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 TRUE alebo 0, ale vzorec IF(<condition>, 1.0, 0) vráti iba desatinné hodnoty, aj keď je value_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, Mediumalebo 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.

Funkcia IF.EAGERSWITCH funkcie (DAX)Logické funkcie