Latihan - Menggabungkan hasil tabel dengan menggunakan operator pencarian
Pada latihan sebelumnya, Anda menggunakan join
operator untuk menemukan total penjualan per produk. Dalam latihan ini, Anda menggunakan lookup
operator untuk menemukan total penjualan per negara/wilayah.
Menggunakan operator lookup
Tim penjualan Anda ingin mengetahui total penjualan perusahaan per negara/wilayah. Anda dapat menggunakan join
operator untuk mendapatkan informasi pelanggan dan produk. Namun, kueri semacam ini berkinerja terbaik saat Anda menggunakan lookup
operator untuk mendapatkan informasi ini.
Ingat bahwa lookup
operator memperkaya tabel fakta dengan data dari tabel dimensi . Ini sedikit seperti membaca buku (tabel fakta) dan mencari kata-kata yang tidak diketahui dalam kamus (tabel dimensi).
Untuk kueri ini, Anda mulai dengan tabel SalesFact dan menggunakan lookup
operator untuk mendapatkan data Pelanggan dan menambahkannya ke tabel yang dihasilkan.
Dalam prosedur berikut, Anda membuat kueri secara bertahap untuk memberi diri Anda pemahaman yang lebih baik tentang hasil penggunaan lookup
operator.
Jalankan kueri berikut untuk mendapatkan 10 baris arbitrer yang cocok dari tabel SalesFact dan tabel Pelanggan .
SalesFact | lookup Customers on CustomerKey | take 10
Lihatlah daftar yang dihasilkan. Perhatikan bahwa tabel yang dihasilkan berisi kolom dari tabel SalesFact diikuti dengan kolom yang cocok dari tabel Pelanggan .
Jalankan kueri berikut untuk mendapatkan total penjualan per negara/wilayah.
SalesFact | lookup Customers on CustomerKey | summarize TotalSales = count() by RegionCountryName | order by TotalSales desc
Hasil Anda akan terlihat seperti yang ada di gambar berikut:
Lihatlah daftar yang dihasilkan. Perhatikan bahwa penjualan teratas ada di Amerika Serikat. Coba ubah kueri untuk memperlihatkan total penjualan dalam Amerika Serikat menurut status.
Di unit sebelumnya, Anda menggunakan rightouterjoin
untuk mendapatkan total penjualan berdasarkan kategori produk. Kueri itu membutuhkan waktu 0,834 detik untuk dijalankan. Sekarang, tulis kueri untuk mendapatkan hasil yang sama dengan menggunakan lookup
operator lalu bandingkan waktu eksekusi.
Jalankan kueri berikut:
SalesFact | lookup Products on ProductKey | summarize TotalSales = count() by ProductCategoryName | order by TotalSales desc
Hasil Anda akan terlihat seperti yang ada di gambar berikut:
Perhatikan bahwa Anda mendapatkan hasil yang sama tetapi waktu eksekusi adalah 0,398 detik. Waktu eksekusi yang lebih cepat adalah karena operator dioptimalkan
lookup
untuk jenis kueri ini.