Öğretici: Birden çok tablodan verileri birleştirme
Birden çok tablodan veri birleştirme, farklı kaynaklardan gelen bilgileri birleştirerek ve veri noktaları arasında yeni ilişkiler oluşturarak daha kapsamlı bir analiz sağlar. Kusto Sorgu Dili (KQL) içinde birleştirme ve arama işleçleri tablolar arasında verileri birleştirmek için kullanılır.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
Bu öğreticideki örneklerde genel kullanıma açık yardım kümesi kullanılır. Kendi verilerinizle keşfetmek için kendi ücretsiz kümenizi oluşturun.
Önkoşullar
- Yardım kümesinde oturum açmak için bir Microsoft hesabı veya Microsoft Entra kullanıcı kimliği
Join işlecini kullanma
Örnekler veritabanında fırtına olaylarıyla ilgili iki tablo vardır. Biri çağrılır StormEvents
, diğeri ise olarak adlandırılır PopulationData
. Bu bölümde, tek bir tabloyla mümkün olmayacak veri analizi gerçekleştirmek için tabloları birleştireceksiniz.
Verileri anlama
Her tablonun hangi verileri içerdiğini görmek için take işlecini kullanın.
StormEvents
| take 5
Aşağıdaki tabloda döndürülen 22 sütunun yalnızca 6'sı gösterilmektedir.
StartTime | EndTime | Bölüm Kimliği | EventId | Durum | Olay türü | ... |
---|---|---|---|---|---|---|
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORİDA | Kasırga | ... |
2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MİSSİSSİPPİ | Fırtına Rüzgarı | ... |
2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GÜRCİSTAN | Fırtına Rüzgarı | ... |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTIK GÜNEY | Su Borusu | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORİDA | Şiddetli Yağmur | ... |
PopulationData
| take 5
Çıkış
Durum | Popülasyon |
---|---|
ALABAMA | 4918690 |
ALASKA | 727951 |
ARİZONA | 7399410 |
ARKANSAS | 3025880 |
CALİFORNİA | 39562900 |
Her iki tablo da bir State
sütun içerir. Tabloda StormEvents
çok daha fazla sütun vardır ve PopulationData
belirtilen durumun popülasyonunu içeren tek bir sütunu daha vardır.
Tabloları birleştirme
Eyalete PopulationData
göre kişi başına fırtınaların neden olduğu toplam özellik hasarını bulmak için ortak State
sütundaki ile StormEvents
tabloya katılın.
StormEvents
| summarize PropertyDamage = sum(DamageProperty) by State
| join kind=innerunique PopulationData on State
| project State, PropertyDamagePerCapita = PropertyDamage / Population
| sort by PropertyDamagePerCapita
Sonucu görselleştirmek için sorguya ekleyin | render columnchart
.
İpucu
işleciyle join
gerçekleştirebileceğiniz birçok birleşim türü vardır. Birleştirme tatlarının listesine bakın.
Arama işlecini kullanma
Arama işleci, olgu tablosunun boyut tablosundaki verilerle zenginleştirildiği sorguların performansını iyileştirir. Olgu tablosunu boyut tablosunda aranan değerlerle genişletir. En iyi performans için sistem varsayılan olarak sol tablonun daha büyük olgu tablosu, sağ tablonun ise küçük boyut tablosu olduğunu varsayar. Bu, işleç tarafından kullanılan varsayımın join
tam tersidir.
Yardım kümesinde satış verilerini içeren adlı ContosoSales
başka bir veritabanı vardır. Aşağıdaki sorgu, ürün kategorisine göre toplam satışları SalesFact
almak üzere bu veritabanındaki ve Products
tablolarını birleştirmek için kullanırlookup
.
SalesFact
| lookup Products on ProductKey
| summarize TotalSales = count() by ProductCategoryName
| order by TotalSales desc
Çıkış
Productcategoryname | TotalSales |
---|---|
Oyunlar ve Oyuncaklar | 966782 |
TV ve Video | 715024 |
Fotoğraf Makineleri ve kameralar | 323003 |
Bilgisayarlar | 313487 |
Ev Aletleri | 237508 |
Ses | 192671 |
Cep telefonları | 50342 |
Müzik, Filmler ve Sesli Kitaplar | 33376 |
Not
lookup
işleci yalnızca iki birleşim çeşidini destekler: leftouter
ve inner
.
Sorgu tarafından oluşturulan tabloları birleştirme
Birleştirmeler aynı tablodan gelen sorgu sonuçlarına göre de yapılabilir.
Hem yıldırım hem de avalanş olaylarının gerçekleştiği durumların listesini oluşturmak istediğinizi varsayalım. Biri şimşek olaylarıyla ilgili verileri, diğeri de avalanche olaylarıyla ilgili verileri içeren iki tablonun satırlarını sütuna göre birleştirmek için join işlecini State
kullanın.
StormEvents
| where EventType == "Lightning"
| distinct State
| join kind=inner (
StormEvents
| where EventType == "Avalanche"
| distinct State
)
on State
| project State
Çıkış
Durum |
---|
OREGON |
UTAH |
WYOMİNG |
WASHİNGTON |
COLORADO |
IDAHO |
NEVADA |
İlgili içerik
- Farklı birleşim işleci türleri hakkında bilgi edinin
- Veritabanları arası ve kümeler arası sorgular gerçekleştirmeyi öğrenin
- Jeo-uzamsal görselleştirmeler oluşturma öğreticisini izleyin
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin