LOOKUPVALUE
Berlaku untuk: kolom terhitungTabel terhitung
Ukur
Perhitungan visual
Mengembalikan nilai untuk baris yang memenuhi semua kriteria yang ditentukan oleh satu atau beberapa kondisi pencarian.
Sintaksis
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Parameter
Istilah | Definisi |
---|---|
result_columnName |
Nama kolom yang sudah ada yang berisi nilai yang 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 atau dalam tabel terkait. Ini tidak bisa menjadi ekspresi. Beberapa pasangan search_columnName dan search_value dapat ditentukan. |
search_value |
Nilai yang akan dicari di search_columnName. Beberapa pasangan search_columnName dan search_value dapat ditentukan. |
alternateResult |
(Opsional) Nilai dikembalikan ketika konteks untuk result_columnName telah difilter ke nol atau lebih dari satu nilai yang berbeda. Jika tidak ditentukan, fungsi mengembalikan BLANK saat result_columnName difilter ke nilai nol atau kesalahan ketika ada lebih dari satu nilai berbeda dalam konteks untuk result_columnName. |
Mengembalikan nilai
Nilai result_columnName
pada baris di mana semua pasangan search_columnName
dan search_value
memiliki kecocokan yang tepat.
Jika tidak ada kecocokan yang memenuhi semua nilai pencarian, BLANK atau alternateResult
(jika ditentukan) dikembalikan. Dengan kata lain, fungsi tidak mengembalikan nilai pencarian jika hanya beberapa kriteria yang cocok.
Jika beberapa baris cocok dengan nilai pencarian dan nilai dalam result_columnName
untuk baris ini identik, maka nilai tersebut dikembalikan. Namun, jika result_columnName
mengembalikan nilai yang berbeda, kesalahan atau alternateResult
(jika ditentukan) dikembalikan.
Komentar
Jika ada hubungan antara tabel yang berisi kolom hasil dan tabel yang berisi kolom pencarian, dalam kebanyakan kasus, menggunakan fungsi RELATED alih-alih LOOKUPVALUE lebih efisien dan memberikan performa yang lebih baik.
Beberapa pasangan
search_columnName
dansearch_value
dapat ditentukan.Parameter
search_value
danalternateResult
dievaluasi sebelum fungsi berulang melalui baris tabel pencarian.Hindari menggunakan fungsi ISERROR atau IFERROR untuk menangkap kesalahan yang dikembalikan oleh LOOKUPVALUE. Jika beberapa input ke fungsi mengakibatkan kesalahan ketika satu nilai output tidak dapat ditentukan, menyediakan parameter
alternateResult
adalah cara paling andal dan berkinerja tertinggi untuk menangani kesalahan.Parameter
alternateResult
mengembalikan kesalahan jika ditentukan dalam kolom terhitung Power Pivot.Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).
Contoh 1
Dalam contoh ini, LOOKUPVALUE digunakan untuk mencari Rata-rata Tarif untuk mata uang yang digunakan untuk membayar pesanan pada hari pesanan ditempatkan:
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
Tanggal Pesanan dan Mata Uang diperlukan untuk menemukan Tingkat Rata-Rata untuk tanggal dan mata uang yang benar. OrderDateKey dan CurrencyKey adalah kunci yang digunakan untuk mencari Tingkat Rata-Rata dalam tabel Kurs Mata Uang.
Anda dapat menggunakan Nilai Tukar untuk menghitung Jumlah Penjualan dalam mata uang lokal dengan:
Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]
Contoh 2
Dalam contoh ini, kolom terhitung berikut yang ditentukan dalam tabel Sales menggunakan fungsi LOOKUPVALUE untuk mengembalikan nilai saluran dari tabel Sales Order.
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey],
[SalesOrderLineKey]
)
Namun, dalam hal ini, karena ada hubungan antara tabel Sales Order dan Sales, lebih efisien untuk menggunakan fungsi RELATED.
CHANNEL = RELATED('Sales Order'[Channel])