Kursus
Pemodelan data adalah dasar dalam membangun laporan Power BI yang informatif. Ini memungkinkan Anda menentukan relasi tabel yang jelas serta mengatur, membersihkan, dan mengambil data secara efisien. Dalam tutorial ini, Anda akan mempelajari fungsi RELATED di Power BI.
Melalui contoh langsung, Anda akan belajar bagaimana fungsi RELATED dapat meningkatkan keterampilan pemodelan data dan pelaporan Anda.
Jika Anda masih baru dalam Power BI, Anda dapat mengenal topik ini dengan bantuan jalur keterampilan Power BI Fundamentals kami.
Anda juga dapat mengunduh lembar contekan DAX dan menyimpannya sebagai referensi saat Anda mempelajari lebih lanjut tentang Power BI dan DAX.
Lembar Contekan DAX DataCamp
Apa itu Fungsi RELATED di Power BI?
RELATED adalah fungsi DAX Power BI yang memungkinkan Anda mengambil nilai dari sebuah kolom di tabel yang berelasi. Yang penting, fungsi ini hanya berfungsi jika ada relasi antara tabel saat ini dan tabel tempat kolom yang diinginkan berada.
Fungsi RELATED menyederhanakan pemodelan data dengan memungkinkan Anda memasukkan data relevan dari berbagai tabel tanpa harus menggabungkan atau melakukan join tabel secara manual.
Berikut adalah sintaks fungsi RELATED:
RELATED(ColumnToFetch)
Sebagai contoh sederhana, misalkan Anda memiliki tabel Sales dan tabel Products terpisah:
|
InvoiceID |
ProductID |
Quantity |
Price |
|
1000 |
123 |
2 |
21 |
|
1001 |
456 |
1 |
19.99 |
|
1002 |
123 |
3 |
31.5 |
|
1003 |
789 |
1 |
24.95 |
Tabel 1. Sales
|
ProductID |
ProductName |
UnitPrice |
|
123 |
Widget |
10.5 |
|
456 |
Gear |
19.99 |
|
789 |
Gizmo |
24.95 |
Tabel 2. Products
Tabel Sales melacak transaksi penjualan, termasuk Product ID untuk setiap penjualan, tetapi tidak memuat nama atau detail produk. Tabel Products berisi nama dan detail tersebut yang ditautkan ke setiap Product ID.
Tanpa RELATED, Anda harus menggabungkan kedua tabel jika ingin membuat kolom terhitung yang menggunakan nama produk dari dalam tabel Sales.
Dengan RELATED, Anda dapat membuat kolom baru di tabel Sales yang langsung menampilkan Product Name untuk setiap penjualan dengan mengambilnya dari tabel Products. Anda juga dapat menggunakan fungsi RELATED dalam sebuah measure untuk mengambil informasi ini secara dinamis.
|
InvoiceID |
ProductID |
Quantity |
Price |
Product Name |
|
1000 |
123 |
2 |
21 |
Widget |
|
1001 |
456 |
1 |
19.99 |
Gear |
|
1002 |
123 |
3 |
31.5 |
Widget |
|
1003 |
789 |
1 |
24.95 |
Gizmo |
Tabel 3. Menggunakan RELATED
Memahami Relasi di Power BI
Di Power BI, relasi memungkinkan Anda menautkan tabel berdasarkan kolom yang sama. Relasi ini merupakan dasar cara Power BI mengintegrasikan data dari berbagai sumber, memungkinkan pendekatan basis data relasional dalam model data Anda.
Jenis-jenis relasi di Power BI
Jenis relasi yang dapat kita miliki di Power BI adalah:
- Satu-ke-satu (1:1): Setiap baris di satu tabel terkait dengan satu (dan hanya satu) baris di tabel lain. Jenis relasi ini lebih jarang.
- Satu-ke-banyak (1:banyak): Satu baris di satu tabel dapat terkait dengan banyak baris di tabel lain. Ini adalah jenis relasi yang paling umum di Power BI.
- Banyak-ke-banyak (banyak:banyak): Baris di satu tabel dapat terkait dengan beberapa baris di tabel lain dan sebaliknya. Karena potensi kompleksitas dan dampak kinerja, gunakan relasi banyak-ke-banyak dengan hati-hati.
Pentingnya relasi untuk Fungsi RELATED
Fungsi RELATED memanfaatkan relasi ini untuk mengambil data dari tabel terkait, membawanya ke konteks tabel saat ini. Tanpa relasi yang didefinisikan dengan benar, fungsi RELATED tidak akan berfungsi.
Relasi menyediakan jalur navigasi yang jelas bagi RELATED untuk diikuti, memastikan fungsi mengetahui dari mana tepatnya data harus diambil.
Praktik pemodelan data yang baik dan relasi yang terdefinisi dengan baik memungkinkan fungsi RELATED mengakses data terkait secara efisien. Ini berarti Anda dapat menghindari operasi lookup yang kompleks dan meningkatkan kinerja serta kegunaan laporan Power BI Anda.
Contoh Langsung dengan Fungsi RELATED
Mari kita telaah beberapa contoh untuk memahami cara kerja RELATED dalam praktik.
Penggunaan dasar RELATED
Misalkan kita memiliki tabel yang memuat penjualan produk bulanan tetapi tidak memuat nama atau kategori produk, hanya ProductID. Kita juga memiliki tabel Products dengan ProductID, ProductName, dan Category. Kita membuat relasi antara kedua tabel ini menggunakan ProductID.
Kita ingin menganalisis penjualan berdasarkan kategori produk. Untuk itu, kita membuat kolom terhitung di tabel Sales dengan rumus DAX berikut, yang kemudian dapat kita tambahkan ke visual dalam laporan Power BI:
ProductCategory = RELATED(Products[ProductCategory])
RELATED sangat tepat untuk ini karena ada relasi langsung satu-ke-banyak antara Products dan Sales, sehingga memudahkan untuk mengambil ProductName atau Category.
Skenario lanjutan
RELATED sangat kuat ketika Anda perlu menarik data dari tabel terkait ke dalam konteks tabel saat ini.
Menggunakan RELATED dalam sebuah measure memungkinkan Anda melakukan perhitungan dinamis yang berubah sesuai konteks filter laporan saat ini. Measure digunakan untuk agregasi dan dapat memasukkan data terkait melalui fungsi konteks baris seperti SUMX.
Jika Anda belum familiar dengan fungsi SUMX, Anda dapat mempelajarinya lebih lanjut dalam tutorial SUMX yang komprehensif ini.
Mari kita jelajahi versi yang lebih kompleks dari contoh sebelumnya. Misalkan Anda memiliki tabel yang berisi banyak produk dengan harga berbeda dan target penjualan dinamis yang bervariasi per produk dan berubah setiap bulan. Tujuan Anda adalah melacak kinerja penjualan bulanan terhadap target tersebut di berbagai kategori produk.
Model data kita, yang memuat tabel Sales dan Products, kini juga mencakup tabel SalesTargets yang berisi target penjualan bulanan untuk setiap produk, termasuk kolom ProductID, Month, dan TargetAmount.
Untuk menggunakan fungsi RELATED dengan benar, kita membuat relasi berdasarkan kunci gabungan yang merupakan kombinasi Product ID dan Month di kedua tabel Sales dan SalesTargets.
Tujuannya adalah menghitung persentase pencapaian target penjualan untuk setiap kategori produk, setiap bulan.
Monthly Target Achievement =
VAR TotalSalesRevenue =
SUMX(
Sales,
Sales[QuantitySold] * RELATED(Products[Price])
)
VAR MonthlyTarget =
SUMX(
Sales,
RELATED(SalesTargets[TargetAmount])
)
RETURN
IF(
MonthlyTarget > 0,
TotalSalesRevenue / MonthlyTarget,
BLANK()
)
Measure ini menghitung TotalSalesRevenue dengan melakukan iterasi atas tabel Sales, menggunakan RELATED untuk mengambil Price per produk. Lalu, MonthlyTarget dihitung dengan menjumlahkan jumlah target untuk bulan dan produk terkait dari tabel SalesTargets.
Terakhir, total pendapatan penjualan dibagi dengan target bulanan untuk mendapatkan persentase pencapaian, dengan memastikan hanya mengembalikan nilai jika ada target yang ditetapkan (untuk menghindari pembagian dengan nol).
Anda dapat mempelajari lebih lanjut tentang analisis data keuangan di jalur keterampilan Financial Reporting in Power BI, yang berisi contoh langsung yang memandu Anda menganalisis dan memvisualisasikan data di Power BI.
Fungsi RELATED di Power BI: Praktik Terbaik
Sekarang setelah kita memahami cara kerja RELATED, mari kita dalami dan jelajahi beberapa praktik terbaiknya.
Gunakan RELATED hanya saat diperlukan
Terapkan RELATED untuk kasus saat Anda benar-benar membutuhkan data dari tabel lain dimasukkan ke dalam konteks tabel saat ini untuk perhitungan. Ini sangat berguna untuk membuat kolom terhitung yang menyederhanakan pembuatan laporan.
Penggunaan RELATED secara berlebihan dapat membuat model data menjadi terlalu kompleks dan berpotensi memperlambat kinerja laporan Anda. Jika Anda dapat mencapai analisis langsung melalui relasi di visual tanpa harus membawa data secara fisik ke tabel Anda, itu sering lebih efisien.
Pahami model data Anda
Sebelum menggunakan RELATED, pastikan Anda memahami model data Anda, terutama relasi antar tabel. RELATED memerlukan relasi aktif yang sudah ada — biasanya relasi satu-ke-banyak di mana fungsi digunakan pada sisi "banyak" untuk menarik data dari sisi "satu".
Fungsi RELATED tidak berfungsi dengan relasi banyak-ke-banyak.
Jika Anda menggunakan RELATED tanpa mendefinisikan relasi dengan benar atau salah memahami arah relasi, hal ini dapat menyebabkan kesalahan atau hasil yang tidak terduga.
Pahami arah relasi
Gunakan RELATED untuk menarik data dari tabel primer (sisi satu) ke tabel terkait (sisi banyak). Ini sangat berguna saat Anda ingin menyertakan data lookup dari tabel lain dalam perhitungan atau analisis Anda.
Menggunakan RELATED ke arah sebaliknya (dari banyak ke satu) tanpa pemahaman yang tepat dapat menimbulkan kebingungan. Untuk arah sebaliknya, RELATEDTABLE mungkin lebih sesuai, meskipun memerlukan fungsi agregasi lanjutan karena mengembalikan sebuah tabel.
Alternatif untuk RELATED
Ketika fungsi RELATED tidak sesuai dengan kebutuhan Anda di Power BI, ada beberapa pendekatan alternatif yang dapat dipertimbangkan. Dua alternatif yang kami bahas di sini adalah fungsi LOOKUPVALUE dan penggabungan data dengan Power Query.
LOOKUPVALUE
LOOKUPVALUE adalah fungsi yang sangat fleksibel, tetapi mungkin berkinerja lebih lambat dibanding RELATED. Ini karena ia menelusuri tabel baris demi baris untuk mencari kecocokan. Dalam contoh kita, ribuan atau jutaan transaksi penjualan berpotensi memperlambat kinerja laporan secara signifikan.
LOOKUPVALUE mungkin menjadi terlalu rumit untuk kebutuhan sederhana ketika ada relasi langsung. Namun, jika Anda memerlukan kriteria pencocokan yang lebih kompleks, belum memiliki relasi yang ditetapkan, atau tidak terlalu memedulikan kinerja, LOOKUPVALUE menawarkan fleksibilitas lebih.
Jika Anda ingin mempelajari lebih lanjut, Anda dapat membaca panduan komprehensif tentang DAX LOOKUPVALUE ini.
Menggabungkan data dengan Power Query
Menggabungkan tabel di Power Query pada dasarnya membuat cuplikan statis data Anda saat penggabungan dilakukan.
Namun, misalkan tabel Products Anda sering diperbarui (produk baru ditambahkan atau kategori diubah). Dalam kasus ini, tabel hasil gabungan Anda di Power Query tidak akan secara otomatis mencerminkan pembaruan ini tanpa menyegarkan kedua tabel Products dan Sales.
Tabel gabungan dapat menjadi sangat besar dan mungkin memperlambat kinerja laporan Anda, terutama jika Anda hanya tertarik pada sebagian kecil data dari tabel terkait (seperti kategori produk).
Kesimpulan
Fungsi RELATED menyederhanakan pemodelan data dengan mengambil data dari tabel yang terhubung berdasarkan relasi, sehingga tidak perlu melakukan penggabungan manual. Ini memungkinkan Anda membuat kolom terhitung dan measure yang secara dinamis memasukkan data dari tabel lain.
Untuk penggunaan yang optimal, gunakan RELATED secara strategis, hanya membawa data ke dalam konteks tabel saat ini bila diperlukan. Pemahaman yang jelas tentang model data dan relasi yang sudah ditetapkan sangat krusial.
Jika Anda ingin terus belajar tentang Power BI, Anda dapat mencoba sumber daya berikut:
FAQ
Apakah fungsi RELATED dapat digunakan dengan relasi tidak aktif?
Tidak, fungsi RELATED tidak dapat secara langsung memanfaatkan relasi tidak aktif di Power BI. RELATED dirancang untuk bekerja dengan relasi aktif antar tabel.
Dalam model Power BI, meskipun bisa ada beberapa relasi antara dua tabel, hanya satu yang dapat aktif pada satu waktu. Relasi aktif inilah yang secara otomatis digunakan Power BI untuk fungsi RELATED.
Apakah fungsi RELATED dapat digunakan dalam measure dan kolom terhitung?
Meskipun RELATED biasanya digunakan dalam kolom terhitung, fungsi ini juga dapat digunakan dalam measure, khususnya di dalam fungsi iteratif seperti SUMX, yang telah kita bahas dalam tutorial ini.
Saat digunakan dalam measure, RELATED mengambil data dari tabel terkait berdasarkan konteks baris saat ini yang ditetapkan oleh fungsi iteratif. Ini memungkinkan perhitungan dinamis lintas tabel terkait dalam konteks filter measure.
Apakah fungsi RELATED dapat digunakan lintas beberapa tabel dalam rantai relasi?
Ya, RELATED dapat menelusuri rantai relasi di beberapa tabel, selama setiap tautan dalam rantai tersebut memiliki relasi yang didefinisikan dengan benar. Ini memungkinkan model data yang kompleks di mana RELATED dapat menarik data melalui tabel perantara.
Bagaimana konteks filter memengaruhi penggunaan RELATED dalam measure?
RELATED beroperasi dalam konteks filter yang sudah ditetapkan saat digunakan dalam measure, yang dapat dimodifikasi oleh slicer, visual, atau fungsi DAX lainnya seperti CALCULATE.
Nilai yang diambil oleh RELATED akan mencerminkan konteks filter saat ini, menjadikannya dinamis dan responsif terhadap perubahan dalam laporan. Ini memungkinkan perhitungan yang peka konteks dan beradaptasi dengan interaksi pengguna.

