LOOKUPVALUE

A következőkre vonatkozik:Számított oszlopSzámított táblaMértékVizualizációszámítási

Annak a sornak az értékét adja vissza, amely megfelel egy vagy több keresési feltétel által megadott feltételeknek.

Szintaxis

LOOKUPVALUE (
    <result_columnName>,
    <search_columnName>,
    <search_value>
    [, <search2_columnName>, <search2_value>]…
    [, <alternateResult>]
)

Paraméterek

Kifejezés Definíció
result_columnName A visszaadni kívánt értéket tartalmazó meglévő oszlop neve. Nem lehet kifejezés.
search_columnName Egy meglévő oszlop neve. Lehet ugyanabban a táblában, mint result_columnName vagy egy kapcsolódó táblában. Nem lehet kifejezés. Több pár search_columnName és search_value is megadhat.
search_value A search_columnName keresendő érték. Több pár search_columnName és search_value is megadhat.
alternateResult (Nem kötelező) A visszaadott érték, ha a result_columnName környezete nullára vagy egynél több különböző értékre van szűrve. Ha nincs megadva, a függvény akkor ad vissza BLANK , ha a result_columnName nullára van szűrve, vagy ha a result_columnName környezete egynél több különböző értékkel rendelkezik.

Visszaadott érték

A result_columnName értéke azon a sorban, ahol az összes search_columnName és search_value pár pontos egyezéssel rendelkezik.

Ha egyezés nem felel meg az összes keresési értéknek, a függvény visszaadja BLANK vagy alternateResult (ha meg van adva). Más szóval a függvény nem ad vissza keresési értéket, ha csak néhány feltétel egyezik.

Ha több sor egyezik a keresési értékekkel, és a sorok értékei result_columnName azonosak, akkor a rendszer ezt az értéket adja vissza. Ha result_columnName azonban eltérő értékeket ad vissza, a függvény hibát vagy alternateResult (ha meg van adva) ad vissza.

Megjegyzések

  • Ha az eredményoszlopot tartalmazó tábla és a keresési oszlopokat tartalmazó táblák között kapcsolat áll fenn, a legtöbb esetben a RELATED függvény LOOKUPVALUE használata hatékonyabb és jobb teljesítményt nyújt.

  • Több pár search_columnName és search_value.

  • A search_value és alternateResult paraméterek kiértékelése, mielőtt a függvény a keresési tábla sorain halad át.

  • Kerülje a függvény által visszaadott hiba használatát ISERROR vagy IFERROR rögzítését LOOKUPVALUE. Ha a függvény egyes bemenetei hibát eredményeznek, ha egyetlen kimeneti érték nem határozható meg, a paraméter megadása alternateResult a legmegbízhatóbb és legeredményesebb módszer a hiba kezelésére.

  • A alternateResult paraméter hibát ad vissza, ha egy Számított Power Pivot-oszlopban van megadva.

  • Ez a függvény nem támogatott DirectQuery módban, ha számított oszlopokban vagy sorszintű biztonsági (RLS) szabályokban használják.

A cikkben szereplő példák az Adventure Works DW 2020 Power BI Desktop-modellel használhatók. A modell lekéréséhez tekintse meg DAX mintamodell.

1. példa

Ebben a példában LOOKUPVALUE a rendelés kiegyenlítéséhez használt pénznem átlagárat keresi a rendelés feladásának napján:

Exchange Rate =
LOOKUPVALUE (
    'Currency Rate'[Average Rate],
    'Currency Rate'[CurrencyKey], [CurrencyKey],
    'Currency Rate'[DateKey], [OrderDateKey]
)

A rendelési dátumra és a pénznemre is szüksége van a megfelelő dátum és pénznem átlagárának megkereséséhez. Az OrderDateKey és a CurrencyKey a pénznemártáblában az átlagár kereséséhez használt kulcsok.

Az árfolyam használatával kiszámíthatja az értékesítési összeget helyi pénznemben a következőkkel:

Sales Amount Local Currency =
[Sales Amount] * [Exchange Rate]

2. példa

Ebben a példában a Értékesítési táblában definiált alábbi számított oszlop a LOOKUPVALUE függvénnyel adja vissza a csatornaértékeket a Értékesítési rendelés táblából.

CHANNEL =
LOOKUPVALUE (
    'Sales Order'[Channel],
    'Sales Order'[SalesOrderLineKey], [SalesOrderLineKey]
)

Ebben az esetben azonban, mivel a Sales Order és a Sales táblák között kapcsolat áll fenn, hatékonyabb a RELATED függvény használata.

CHANNEL =
RELATED ( 'Sales Order'[Channel] )