Baca dalam bahasa Inggris

Bagikan melalui


LOOKUPVALUE

Berlaku untuk: kolom terhitungTabel terhitungMeasurePerhitungan visual

Mengembalikan value untuk baris yang memenuhi kriteria all yang ditentukan oleh satu or kondisi search lainnya.

Sintaksis

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

Parameter

Istilah Definisi
result_columnName Nama kolom yang sudah ada yang containsvalue ingin Anda kembalikan. Ini tidak bisa menjadi ekspresi.
search_columnName Nama kolom yang sudah ada. Ini bisa berada dalam tabel yang sama dengan result_columnName or dalam tabel related. Ini tidak bisa menjadi ekspresi. Beberapa pasangan search_columnName and search_value dapat ditentukan.
search_value value untuk search di search_columnName. Beberapa pasangan search_columnName and search_value dapat ditentukan.
alternateResult (Opsional) value dikembalikan ketika konteks untuk result_columnName telah difilter ke nol or lebih dari satu valueyang berbeda . If not ditentukan, fungsi mengembalikan BLANK saat result_columnName difilter ke nol valuesorerror ketika ada lebih dari satu value berbeda dalam konteks untuk result_columnName.

Mengembalikan value

value result_columnName di baris tempat pasangan allsearch_columnNameandsearch_value memiliki kecocokan exact.

If tidak ada kecocokan yang memenuhi allsearchvalues, BLANKoralternateResult (if ditentukan) dikembalikan. Dengan kata lain, fungsi tidak mengembalikan pencarian valueif hanya beberapa kriteria yang cocok.

If beberapa baris cocok dengan searchvaluesandvalues di result_columnName untuk baris ini identik, lalu value dikembalikan. Namun, ifresult_columnName mengembalikan valuesyang berbeda , errororalternateResult (if ditentukan) dikembalikan.

Komentar

  • If ada hubungan antara tabel yang contains kolom hasil and tabel yang berisi kolom search, dalam kebanyakan kasus, menggunakan fungsi RELATED alih-alih LOOKUPVALUE lebih efisien and memberikan performa yang lebih baik.

  • Beberapa pasangan search_columnNameandsearch_value dapat ditentukan.

  • Parameter search_valueandalternateResult dievaluasi sebelum fungsi berulang melalui baris tabel search.

  • Hindari menggunakan fungsi ISERRORorIFERROR untuk mengambil error yang dikembalikan oleh LOOKUPVALUE. If beberapa input ke fungsi menghasilkan error ketika satu output value tidak dapat ditentukan, memberikan parameter alternateResult adalah cara berkinerja tertinggi and yang paling andal untuk menangani error.

  • Parameter alternateResult mengembalikan errorif yang ditentukan dalam kolom terhitung pivot Power.

  • Fungsi ini not didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung or aturan keamanan tingkat baris (RLS).

Contoh 1

Dalam contoh ini, LOOKUPVALUE digunakan untuk searchAverageRate untuk currency yang digunakan untuk membayar pesanan pada day pesanan dilakukan:

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

Kedua DateandCurrency Pesanan diperlukan untuk findAverageRate untuk dateandcurrencyyang benar. OrderDateKey and CurrencyKey adalah kunci yang digunakan untuk mencari AverageRate dalam tabel CurrencyRate.

Anda dapat menggunakan Rate Exchange untuk calculate Jumlah Penjualan di currency lokal dengan:

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

Contoh 2

Dalam contoh ini, kolom terhitung berikut yang ditentukan dalam tabel Sales menggunakan fungsi untuk mengembalikan saluran dari tabel Sales Order.

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

Namun, dalam hal ini, karena ada hubungan antara tabel Sales OrderandSales, lebih efisien untuk menggunakan fungsi RELATED.

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

fungsi ()
fungsi Informasi