Lewati ke konten utama

Panduan Komprehensif untuk DAX LOOKUPVALUE

Kuasai fungsi LOOKUPVALUE di Power BI dengan contoh sederhana dan kombinasi lanjutan dengan fungsi DAX lainnya.
Diperbarui 28 Sep 2026  · 9 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

LOOKUPVALUE adalah fungsi DAX yang berguna untuk menemukan dan mengambil nilai di tabel lain.

Meskipun bukan pengganti praktik pemodelan data yang baik dalam laporan Power BI Anda, LOOKUPVALUE menawarkan banyak fleksibilitas saat menulis ekspresi kompleks dengan banyak kondisi, terutama jika Anda ingin menggabungkan LOOKUPVALUE dengan fungsi DAX lainnya.

Dalam tutorial ini, kami akan membahas dasar-dasar fungsi LOOKUPVALUE, cara kerjanya, cara menggunakannya (terutama saat digabungkan dengan fungsi DAX lainnya), serta beberapa pertimbangan kinerja dan praktik terbaik yang perlu diikuti saat menggunakan LOOKUPVALUE dalam laporan Power BI Anda.

LOOKUPVALUE di Power BI sangat mirip dengan VLOOKUP di Microsoft Excel. Namun, ada baiknya Anda membiasakan diri dengan DAX dan Power BI sebelum mempelajari LOOKUPVALUE. Jalur keahlian Power BI fundamentals kami dapat membantu Anda mengejar ketertinggalan dengan cepat, dan DAX cheat sheet kami adalah referensi yang bagus untuk disimpan saat bekerja dengan fungsi DAX.

Power BI DAX Cheat Sheet

Dasar-Dasar LOOKUPVALUE

Dengan menggunakan fungsi LOOKUPVALUE, kita dapat mengambil satu nilai dari kolom di tabel lain berdasarkan satu atau lebih kondisi pencarian.

Berikut sintaks standarnya:

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

Jika Anda masih baru dalam DAX dan sintaksnya, lihat kursus Introduction to DAX kami atau baca cepat tutorial DAX untuk pemula. Anda juga dapat memperdalam pengetahuan DAX Anda dengan kursus Intermediate DAX kami.

Mari bahas parameter LOOKUPVALUE secara lebih rinci:

  • result_column: Ini adalah kolom yang ingin Anda ambil dari tabel target.
  • search_column1: Ini adalah kolom di tabel target yang berisi kriteria yang ingin Anda cocokkan.
  • search_value1: Ini adalah nilai yang akan dicari di search_column1. Bisa berupa nilai tetap, seperti teks, atau hasil dari sebuah ekspresi (seperti min atau max), atau bisa juga berupa kolom di tabel sumber yang harus dicocokkan oleh LOOKUPVALUE.
  • [search_column2, search_value2, ...]: Ini adalah pasangan tambahan opsional dari kolom dan nilai pencarian. Anda dapat menentukan beberapa pasangan untuk membuat kondisi pencarian yang lebih kompleks.
  • [alternateResult]: Ini adalah hasil default atau alternatif. Jika LOOKUPVALUE tidak menemukan kecocokan yang sesuai, fungsi ini akan mengembalikan nilai ini.

Setiap kali LOOKUPVALUE melakukan pencarian di tabel target, seharusnya hanya menemukan satu kecocokan. Jika ada beberapa kemungkinan kecocokan, Anda perlu menentukan pasangan pencarian tambahan hingga LOOKUPVALUE dapat menemukan kecocokan yang unik.

Untuk kejelasan, kita akan membahas contohnya di bagian berikutnya.

Contoh Sederhana LOOKUPVALUE

Penggunaan dasar

Misalkan Anda memiliki tabel produk dengan kolom ProductID dan ProductName. Anda ingin mencari nama produk dengan ID 101.

Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101)

Beberapa kondisi pencarian

Dalam kasus ini, misalkan Anda memiliki tabel Sales dengan kolom ProductID, Region, dan Revenue. Anda ingin mencari pendapatan untuk produk tertentu (ID 101) di wilayah tertentu (East).

Product_Revenue = LOOKUPVALUE(Sales[Revenue], Sales[ProductID], 101, Sales[Region], "East")

Menangani nilai kosong

Dalam kasus ketika kondisi pencarian tidak mengembalikan kecocokan apa pun, LOOKUPVALUE mengembalikan kosong.

Berikut dua metode untuk menangani nilai kosong ini:

  • Menggunakan parameter hasil alternatif dari LOOKUPVALUE.
  • Menggunakan fungsi COALESCE untuk menentukan hasil alternatif jika LOOKUPVALUE mengembalikan kosong.

Metode 1: Hasil alternatif

Anda dapat menentukan nilai default atau hasil alternatif dalam fungsi LOOKUPVALUE. Ini adalah parameter opsional yang ditempatkan di bagian paling akhir dari ekspresi LOOKUPVALUE.

Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101, "Not Found")

Metode 2: COALESCE

Kedua, Anda dapat menggunakan fungsi COALESCE, yang cara kerjanya hampir sama dengan menentukan hasil alternatif di fungsi LOOKUPVALUE.

Namun, bergantung pada kasus penggunaan dan set data Anda, COALESCE bisa lebih cepat. Jika kecepatan dan kinerja penting untuk laporan Power BI Anda, maka ada baiknya meninjau COALESCE.

Commission Rate = 
COALESCE( 
     LOOKUPVALUE(
          'CommissionRates'[Rate],
          'CommissionRates'[SalespersonID], SELECTEDVALUE('Sales'[SalespersonID])
     ), 
     0.05 
)

Mendefinisikan relasi antar tabel selalu merupakan praktik pemodelan data yang baik. Ini lebih cepat daripada menggunakan fungsi DAX LOOKUPVALUE, dan membuat model semantik Anda lebih mudah dipahami sekarang maupun di masa depan.

Saat Anda membuat relasi antar tabel, Anda dapat menggunakan fungsi RELATED. Dalam banyak kasus, fungsi RELATED lebih sederhana dan lebih langsung dibandingkan LOOKUPVALUE.

Fungsi RELATED ideal saat Anda perlu mengambil nilai dari tabel lain yang memiliki relasi langsung dengan tabel sumber Anda.

Misalnya, jika Anda ingin menambahkan nama pelanggan ke tabel penjualan, dan ada relasi langsung antara tabel penjualan dan tabel pelanggan pada CustomerID, Anda dapat menggunakan:

Customer Name = RELATED(Customers[CustomerName])

Namun, `LOOKUPVALUE` lebih fleksibel daripada `RELATED` dan paling cocok digunakan ketika Anda perlu melakukan pencarian tanpa relasi langsung yang ada dalam model Anda atau perlu mencari nilai berdasarkan kriteria yang kompleks atau berganda. Fungsinya serbaguna, tetapi hindari penggunaan berlebihan karena berpotensi berdampak pada kinerja.

Menggabungkan LOOKUPVALUE dengan Fungsi DAX Lain

Kita sudah melihat bagaimana Anda dapat menggabungkan LOOKUPVALUE dengan COALESCE untuk memberikan hasil alternatif saat tidak ditemukan kecocokan.

Ada fungsi DAX lain yang cocok dipasangkan dengan LOOKUPVALUE, seperti fungsi CALCULATE dan SWITCH.

Kami akan membahas contohnya di bagian ini.

LOOKUPVALUE & CALCULATE

Menggabungkan fungsi LOOKUPVALUE dengan fungsi CALCULATE berguna dalam skenario ketika Anda perlu mengambil nilai dari tabel lain berdasarkan konteks perhitungan atau filter yang tidak dapat diakses secara langsung melalui relasi sederhana atau lookup langsung.

Ini sering digunakan untuk menerapkan filter atau mengubah tingkat granularitas perhitungan. Saat digabungkan dengan LOOKUPVALUE, Anda dapat menyesuaikan kriteria pencarian secara dinamis berdasarkan hasil perhitungan.

Berikut contohnya: Misalkan Anda memiliki daftar produk dan target penjualannya untuk tahun tertentu dalam sebuah tabel. Untuk sebuah Product ID, Anda ingin mengambil target penjualannya untuk tahun berjalan.

Mari kita bahas bagaimana Anda dapat melakukannya dengan menggabungkan fungsi CALCULATE dan LOOKUPVALUE.

Product Sales Target = 
VAR SpecificProductID = 123
VAR CurrentYear = YEAR(TODAY())
RETURN
    CALCULATE(
        LOOKUPVALUE(
             SalesTargets[SalesTarget], 
             SalesTargets[ProductID], 
             SpecificProductID, 
             SalesTargets[Year], 
             CurrentYear
        ),
        ALL(SalesTargets)
    )

LOOKUPVALUE & SWITCH

Menggabungkan fungsi LOOKUPVALUE dengan fungsi SWITCH cocok digunakan saat Anda perlu melakukan lookup nilai dari tabel lain secara dinamis dan mengembalikan hasil berbeda berdasarkan beberapa kemungkinan kecocokan.

Jika Anda belum familiar dengan fungsi SWITCH, kami memiliki tutorial yang akan memandu Anda secara mendetail.

Berikut contohnya: Misalkan Anda memiliki dataset penjualan dan tabel tarif komisi terpisah. Tarif komisi yang diterima karyawan ditentukan oleh tier penjualannya, yang tidak disimpan secara langsung tetapi dapat dihitung dari total nilai penjualannya.

Anda ingin membuat kolom terhitung di tabel Sales yang menunjukkan tarif komisi untuk setiap penjualan berdasarkan tier penjualan.

Commission Rate = 
VAR SalesAmount = Sales[TotalSalesAmount]
VAR SalesTier = 
    SWITCH(
        TRUE(),
        SalesAmount <= 500, "Low",
        SalesAmount <= 2000, "Medium",
        "High"
    )
RETURN 
    LOOKUPVALUE(
        CommissionRates[CommissionRate],
        CommissionRates[SalesTier], 
        SalesTier
    )

Dalam ekspresi DAX ini, kita menggunakan fungsi SWITCH untuk menentukan tier penjualan dan kemudian menggunakan hasil ini dalam LOOKUPVALUE untuk mengambil tarif komisi yang sesuai untuk tier tersebut.

Pertimbangan Kinerja dan Praktik Terbaik

1. Gunakan relasi jika memungkinkan

Lebih disarankan menggunakan relasi langsung antar tabel kapan pun memungkinkan. Relasi dioptimalkan untuk kinerja di Power BI, dan fungsi seperti RELATED sering kali jauh lebih efisien dibandingkan LOOKUPVALUE.

Pendekatan ini juga memanfaatkan optimisasi internal Power BI, yang penting jika Anda ingin meminimalkan waktu pemuatan laporan.

2. Minimalkan penggunaan di kolom terhitung

Meskipun LOOKUPVALUE dapat digunakan di kolom terhitung, secara umum sebaiknya tidak digunakan berlebihan. Kolom terhitung dihitung saat penyegaran data dan dapat memperlambat proses, terutama pada set data besar.

Pertimbangkan untuk menggunakan LOOKUPVALUE dalam measure sebagai gantinya, di mana perhitungan dilakukan saat kueri dijalankan dan dapat memanfaatkan optimisasi kueri.

3. Tangani hasil kosong dengan hati-hati

LOOKUPVALUE mengembalikan hasil kosong jika tidak ditemukan kecocokan. Seperti yang telah kita bahas sebelumnya, penting untuk memilih metode yang tepat untuk menanganinya dalam laporan Anda. Anda dapat mempertimbangkan menggunakan fungsi seperti COALESCE atau parameter hasil alternatif opsional dari LOOKUPVALUE untuk menyediakan nilai default ketika LOOKUPVALUE mengembalikan kosong.

4. Tipe data dan peka huruf besar-kecil

Pastikan nilai pencarian dan kolom yang dicari memiliki tipe data yang sama, dan waspadai kepekaan huruf besar-kecil. Ketidaksesuaian tipe data atau perbedaan huruf besar-kecil dapat menyebabkan hasil yang tidak terduga atau galat pada fungsi LOOKUPVALUE.

Kesimpulan

Singkatnya, LOOKUPVALUE memberi Anda lebih banyak opsi saat mencari dan mengambil nilai dari tabel lain. Fungsi ini sangat kuat saat digabungkan dengan fungsi DAX lainnya. Namun, ini bukan pengganti praktik pemodelan data yang baik, dan disarankan agar Anda terlebih dahulu mencoba mendefinisikan relasi antar tabel dalam laporan Power BI Anda.

Jika Anda mempertimbangkan berkarier sebagai pengembang Power BI, lihat panduan langkah demi langkah untuk menjadi pengembang Power BI. Kami mendorong Anda untuk melanjutkan pembelajaran Power BI dengan menjelajahi jalur karier lengkap Data Analyst in Power BI, yang akan mengajarkan semua yang perlu Anda ketahui untuk mulai menggunakan Power BI dalam praktik.


Joleen Bothma's photo
Author
Joleen Bothma
LinkedIn
Topik
Power BI

Lanjutkan Perjalanan Power BI Anda Hari Ini!

Kursus

Pengantar DAX di Power BI

3 jam
186.2K
Tingkatkan pengetahuan Power BI Anda dengan mempelajari dasar-dasar Data Analysis Expressions (DAX) seperti kolom terhitung, tabel, dan ukuran.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya