Bagikan melalui


Tutorial: menggabungkan data dari beberapa tabel

Berlaku untuk: âś…Microsoft Fabric

Menggabungkan data dari beberapa tabel memungkinkan Anda menganalisis data di seluruh sumber dan membuat hubungan antar titik data. Dalam Bahasa Kueri Kusto (KQL), gunakan operator gabungan dan pencarian untuk menggabungkan data di seluruh tabel.

Dalam tutorial ini, Anda akan belajar cara:

Contoh dalam tutorial ini menggunakan StormEvents tabel, yang tersedia untuk umum di kluster bantuan. Untuk menjelajahi dengan data Anda sendiri, buat kluster gratis Anda sendiri.

Contoh dalam tutorial ini menggunakan StormEvents tabel, yang tersedia untuk umum dalam data sampel Analitikcuaca.

Prasyarat

Jalankan kueri di lingkungan kueri yang memiliki akses ke data sampel. Gunakan salah satu hal berikut ini:

  • Akun Microsoft atau identitas pengguna Microsoft Entra untuk masuk ke kluster bantuan

Gunakan operator join

Database Sampel memiliki dua tabel peristiwa badai terkait: StormEvents dan PopulationData. Di bagian ini, Anda menggabungkannya untuk menganalisis data yang tidak dimungkinkan dengan satu tabel saja.

Memahami data

Gunakan operator ambil untuk melihat data apa yang dimuat setiap tabel.

StormEvents 
| take 5

Tabel berikut ini hanya memperlihatkan enam dari 22 kolom yang dikembalikan.

StartTime EndTime EpisodeId EventId Status EventType ...
2007-09-20T21:57:00Z 2007-09-20T22:05:00Z 11078 60913 FLORIDA Tornado ...
2007-12-20T07:50:00Z 2007-12-20T07:53:00Z 12554 68796 MISSISSIPPI Angin Badai Petir ...
2007-12-30T16:00:00Z 2007-12-30T16:05:00Z 11749 64588 GEORGIA Angin Badai Petir ...
2007-09-29T08:11:00Z 2007-09-29T08:11:00Z 11091 61032 ATLANTIK SELATAN Sengkayan ...
2007-09-18T20:00:00Z 2007-09-19T18:00:00Z 11074 60904 FLORIDA Hujan Lebat ...
PopulationData 
| take 5

Hasil

Status Populasi
ALABAMA 4918690
ALASKA 727951
ARIZONA 7399410
ARKANSAS 3025880
CALIFORNIA 39562900

Kedua tabel memiliki State kolom. StormEvents memiliki lebih banyak kolom, dan PopulationData memiliki satu kolom lain dengan populasi negara bagian.

Menggabungkan tabel

Menggabungkan PopulationData dengan StormEvents pada State untuk menghitung total kerusakan properti per kapita berdasarkan negara bagian.

StormEvents
| summarize PropertyDamage = sum(DamageProperty) by State
| join kind=innerunique PopulationData on State
| project State, PropertyDamagePerCapita = PropertyDamage / Population
| sort by PropertyDamagePerCapita

Tambahkan | render columnchart ke kueri untuk memvisualisasikan hasilnya.

Cuplikan layar bagan kolom memperlihatkan kerusakan properti per kapita menurut status.

Jika kolom memiliki nama yang berbeda (misalnya, StormEvents memiliki State dan PopulationData memiliki StateName), tentukan gabungan sebagai:

StormEvents
| join kind=innerunique PopulationData on $left.State == $right.StateName  

$left mengacu pada tabel kiri (luar) dalam gabungan: StormEvents. $right mengacu pada tabel kanan (dalam): PopulationData.

Tip

Gunakan operator join untuk banyak jenis gabungan. Lihat daftar jenis penggabungan.

Menggunakan operator pencarian

Operator pencarian mengoptimalkan kueri yang memperkaya tabel fakta dengan data dari tabel dimensi. Ini memperluas tabel fakta dengan nilai dari tabel dimensi. Secara default, sistem mengasumsikan tabel kiri adalah tabel fakta yang lebih besar dan tabel kanan adalah tabel dimensi yang lebih kecil. Asumsi operator join adalah kebalikan dari default ini.

Kluster bantuan menyertakan database bernama ContosoSales dengan data penjualan. Kueri berikut menggunakan lookup untuk menggabungkan SalesFact tabel dan Products untuk mengembalikan total penjualan menurut kategori produk.

SalesFact
| lookup Products on ProductKey
| summarize TotalSales = count() by ProductCategoryName
| order by TotalSales desc

Hasil

ProductCategoryName TotalSales
Game dan Mainan 966782
TV dan Video 715024
Kamera dan kamera video 323003
Komputer 313487
Peralatan Rumah Tangga 237508
Audio 192671
Ponsel 50342
Musik, Film, dan Buku Audio 33376

Catatan

Operator lookup hanya mendukung dua jenis gabungan: leftouter dan inner.

Menggabungkan tabel yang dihasilkan kueri

Gabungkan hasil dari tabel yang sama.

Misalkan Anda menginginkan daftar status yang memiliki peristiwa petir dan longsoran salju. Gunakan operator gabungan untuk menggabungkan baris dari dua kueri yang mengembalikan status berbeda untuk setiap jenis peristiwa pada State kolom.

StormEvents
| where EventType == "Lightning"
| distinct State
| join kind=inner (
    StormEvents 
    | where EventType == "Avalanche"
    | distinct State
    )
    on State
| project State

Hasil

Status
OREGON
UTAH
WYOMING
WASHINGTON
COLORADO
IDAHO
NEVADA