join öneki, yüklenmiş tabloyu mevcut adlandırılmış bir tabloyla veya daha önce oluşturulmuş son veri tablosuyla birleştirir.
Veri birleştirmenin etkisi, hedef tabloyu ek bir alanlar veya öznitelikler kümesi ile; hedef tabloda zaten mevcut olanlar ile genişletmektir. Kaynak veri kümesi ile hedef tablo arasındaki varsa ortak alan adları, gelen yeni kayıtların nasıl ilişkilendirileceğini belirlemek için kullanılır. Buna yaygın olarak "doğal birleştirme" denir. Bir Qlik birleştirme işlemi; birleştirme ilişkisinin benzersizliğine ve kullanılan birleştirme türüne bağlı olarak ortaya çıkan hedef tabloda başlangıçtan daha az veya daha fazla kayıt olmasıyla sonuçlanabilir.
Dört bileştirme türü vardır:
Sol birleştirme
Sol birleştirme en yaygın birleştirme türüdür. Örneğin, bir işlem veri kümeniz varsa ve bunu bir referans veri kümesiyle birleştirme istiyorsanız, normal olarak bir Left Join kullanırsınız. Önce işlem tablosunu yüklersiniz, sonra bir Left Join ön ekiyle zaten yüklü olan tabloyla birleştirerek referans veri kümesini yüklersiniz. Bir Left Join tüm işlemleri olduğu gibi tutar ve eşleşme bulunan durumlarda tamamlayıcı referans verisi alanlarını ekler.
İç birleştirme
İki veri kümenizi olduğunda ve sizi yalnızca eşleşen ilişkilendirmeler olan sonuçlar ilgilendirdiğinde Inner Join kullanmayı düşünün. Bu, gerek yüklenen kaynak verilerden gerekse hedef tablodan eşleşmesi olmayan tüm kayıtları çıkarır. Bu, hedef tablonuzda birleştirme işlemi yapılmadan öncekinden daha az kayıt bırakabilir.
Dış birleştirme
Gerek hedef kayıtları gerekse gelen kayıtların tümünü tutmanız gerektiğinde bir Outer Join kullanın. Bir eşleşme bulunmadığında, kayıt seti hâlâ tutulur ancak birleştirmenin karşı tarafından alanlar doldurulmaz (null kalır).
"Type" anahtar sözcüğü çıkarılırsa varsayılan birleştirme türü dış birleştirmedir.
Sağ birleştirme
Bu birleştirme türü yüklenmek üzere olan tüm kayıtları tutarken birleştirme ile hedeflenen kayıtların sayısını gelen kayıtlarda bir ilişkilendirme eşleşmesi olanlarla sınırlar. Bu, sınırlı kullanımı olan bir birleştirme türüdür ve bazen zaten yüklenmiş olan kayıtlar tablosunu istenen alt kümeye indirgemek için kullanılır.
Bilgi notuBir birleştirme işleminin kaynağı ile hedefi arasında ortak bir alan adı yoksa, birleştirme işlemi tüm satırların kartezyen çarpımıyla sonuçlanır. Bu "çapraz birleştirme" olarak adlandırılır.
Söz Dizimi:
[inner | outer | left | right ]Join[ (tablename )
]( loadstatement | selectstatement )
Bağımsız Değişkenler
Bağımsız Değişken
Açıklama
tablename
Yüklenen tablo ile karşılaştırılacak adlandırılmış tablo.
loadstatementveya selectstatement
Yüklenen tablo için LOAD veya SELECT deyimi.
Bu konular bu fonksiyon ile çalışmanıza yardımcı olabilir:
Keep yükleme ön eki Join ön ekine benzer, ancak kaynak ve hedef veri kümelerini birleştirmez. Bunun yerine her veri kümesini benimsenen işlem türüne göre (iç, dış, sol veya sağ) sınırlar.
Örnek 1 - Sol birleştirme: Hedef tabloyu bir referans veri kümesiyle zenginleştirme
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
Changes adlı bir tabloya yüklenen, değişim kayıtlarını temsil eden bir veri kümesi. Status ID anahtar alanını içerir.
Yüklenip asıl değişim kayıtlarıyla bir sol Join yükleme ön eki ile birleştirilerek bir araya getirilen, değişim durumlarını temsil eden ikinci bir veri kümesi.
Bu sol birleştirme; değişim kayıtlarının olduğu gibi kalmasını sağlarken, gelen durum kayıtlarında ortak bir Status ID temel alınarak bir eşleşme bulunan yerlerde durum öznitelikleri ekler.
Komut dosyası
Changes:
Load * inline [
Change ID Status ID Scheduled Start Date Scheduled End Date Business Impact
10030 4 19/01/2022 23/02/2022 None
10015 3 04/01/2022 15/02/2022 Low
10103 1 02/04/2022 29/05/2022 Medium
10185 2 23/06/2022 08/09/2022 None
10323 1 08/11/2022 26/11/2022 High
10326 2 11/11/2022 05/12/2022 None
10138 2 07/05/2022 03/08/2022 None
10031 3 20/01/2022 25/03/2022 Low
10040 1 29/01/2022 22/04/2022 None
10134 1 03/05/2022 08/07/2022 Low
10334 2 19/11/2022 06/02/2023 Low
10220 2 28/07/2022 06/09/2022 None
10264 1 10/09/2022 17/10/2022 Medium
10116 1 15/04/2022 24/04/2022 None
10187 2 25/06/2022 24/08/2022 Low
] (delimiter is '\t');
Status:
Join (Changes)
Load * inline [
Status ID Status Sub Status
1 Open Not Started
2 Open Started
3 Closed Complete
4 Closed Cancelled
] (delimiter is '\t');
Sonuçlar
Veri modeli görüntüleyicisi'ni açın ve veri modelinin şekline dikkat edin. Yalnızca bir adet normalleştirilmiş tablo mevcuttur. Tablo, asıl kayıtların tümünü her değişim kaydıyla birleştirilmiş eşleşen durum öznitelikleriyle bir araya getirir.
Ortaya çıkan dahili veri modeli
Changes
Change ID
Status ID
Zamanlanan Başlangıç Tarihi
Zamanlanan Bitiş Tarihi
İşe Etkisi
Durum
Alt Durum
Veri modeli görüntüleyicisi'ndeki önizleme penceresini genişletirseniz bu tam sonuç setinin bir kısmını bir tablo halinde düzenlenmiş olarak görebilirsiniz:
Changes tablosunun Veri modeli görüntüleyicisi'ndeki önizlemesi
Change ID
Status ID
Zamanlanan Başlangıç Tarihi
Zamanlanan Bitiş Tarihi
İşe Etkisi
Durum
Alt Durum
10015
3
04/01/2022
15/02/2022
Düşük
Kapatıldı
Tamamlandı
10030
4
19/01/2022
23/02/2022
Yok
Kapatıldı
İptal edildi
10031
3
20/01/2022
25/03/2022
Düşük
Kapatıldı
Tamamlandı
10040
1
29/01/2022
22/04/2022
Yok
Açık
Henüz Başlamadı
10103
1
02/04/2022
29/05/2022
Orta
Aç
Henüz Başlamadı
10116
1
15/04/2022
24/04/2022
Yok
Açık
Henüz Başlamadı
10134
1
03/05/2022
08/07/2022
Düşük
Aç
Henüz Başlamadı
10138
2
07/05/2022
03/08/2022
Yok
Aç
Başlatıldı
10185
2
23/06/2022
08/09/2022
Yok
Aç
Başlatıldı
10187
2
25/06/2022
24/08/2022
Düşük
Aç
Başlatıldı
10220
2
28/07/2022
06/09/2022
Yok
Aç
Başlatıldı
10264
1
10/09/2022
17/10/2022
Orta
Aç
Henüz Başlamadı
10323
1
08/11/2022
26/11/2022
Yüksek
Aç
Henüz Başlamadı
10326
2
11/11/2022
05/12/2022
Yok
Aç
Başlatıldı
10334
2
19/11/2022
06/02/2023
Düşük
Aç
Başlatıldı
Veri yükleme düzenleyicisine geri dönün. Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin: Status.
Şu hesaplamayı ekleyin:
=Count([Change ID])
Artık Değişiklik sayısını Status'a göre inceleyebilirsiniz.
Sonuçlar tablosu
Durum
=Count([Change ID])
Aç
12
Kapatıldı
3
Örnek 2 – İç birleştirme: Yalnızca eşleşen kayıtları bir araya getirme
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
Changes adlı bir tabloya yüklenen, değişim kayıtlarını temsil eden bir veri kümesi.
JIRA kaynak sisteminden alınan değişim kayıtlarını temsil eden ikinci bir veri kümesi. Bu, yüklenip bir Inner Join yükleme ön ekiyle birleştirilerek asıl kayıtlarla bir araya getirilir.
Bu Inner Join, yalnızca her iki veri kümesinde de bulunan beş değişiklik kaydının tutulmasını sağlar.
Komut dosyası
Changes:
Load * inline [
Change ID Status ID Scheduled Start Date Scheduled End Date Business Impact
10030 4 19/01/2022 23/02/2022 None
10015 3 04/01/2022 15/02/2022 Low
10103 1 02/04/2022 29/05/2022 Medium
10185 2 23/06/2022 08/09/2022 None
10323 1 08/11/2022 26/11/2022 High
10326 2 11/11/2022 05/12/2022 None
10138 2 07/05/2022 03/08/2022 None
10031 3 20/01/2022 25/03/2022 Low
10040 1 29/01/2022 22/04/2022 None
10134 1 03/05/2022 08/07/2022 Low
10334 2 19/11/2022 06/02/2023 Low
10220 2 28/07/2022 06/09/2022 None
10264 1 10/09/2022 17/10/2022 Medium
10116 1 15/04/2022 24/04/2022 None
10187 2 25/06/2022 24/08/2022 Low
] (delimiter is '\t');
JIRA_changes:
Inner Join (Changes)
Load
[Ticket ID] AS [Change ID],
[Source System]
inline
[
Ticket ID Source System
10030 JIRA
10323 JIRA
10134 JIRA
10334 JIRA
10220 JIRA
10187 JIRA
] (delimiter is '\t');
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
Source System
Change ID
Business Impact
Artık ortaya çıkan beş kaydı inceleyebilirsiniz.
Sonuçlar tablosu
Kaynak Sistem
Change ID
İşe Etkisi
JIRA
10030
Yok
JIRA
10134
Düşük
JIRA
10220
Yok
JIRA
10323
Yüksek
JIRA
10334
Düşük
Örnek 3 – Dış birleştirme: Örtüşen kayıt setlerini bir araya getirme
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
Changes adlı bir tabloya yüklenen, değişim kayıtlarını temsil eden bir veri kümesi.
Yüklenip bir Outer Join yükleme ön ekiyle birleştirilerek asıl kayıtlarla bir araya getirilen JIRA kaynak sisteminden alınan değişim kayıtlarını temsil eden bir veri kümesi.
Bu, her iki veri kümesinde örtüşen tüm değişiklik kayıtlarının tutulmasını sağlar.
Komut dosyası
// 8 Change records
Changes:
Load * inline [
Change ID Status ID Scheduled Start Date Scheduled End Date Business Impact
10030 4 19/01/2022 23/02/2022 None
10015 3 04/01/2022 15/02/2022 Low
10138 2 07/05/2022 03/08/2022 None
10031 3 20/01/2022 25/03/2022 Low
10040 1 29/01/2022 22/04/2022 None
10134 1 03/05/2022 08/07/2022 Low
10334 2 19/11/2022 06/02/2023 Low
10220 2 28/07/2022 06/09/2022 None
] (delimiter is '\t');
// 6 Change records
JIRA_changes:
Outer Join (Changes)
Load
[Ticket ID] AS [Change ID],
[Source System]
inline
[
Ticket ID Source System
10030 JIRA
10323 JIRA
10134 JIRA
10334 JIRA
10220 JIRA
10597 JIRA
] (delimiter is '\t');
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
Source System
Change ID
Business Impact
Artık ortaya çıkan 10 kaydı inceleyebilirsiniz.
Sonuçlar tablosu
Kaynak Sistem
Change ID
İşe Etkisi
JIRA
10030
Yok
JIRA
10134
Düşük
JIRA
10220
Yok
JIRA
10323
-
JIRA
10334
Düşük
JIRA
10597
-
-
10015
Düşük
-
10031
Düşük
-
10040
Yok
-
10138
Yok
Örnek 4 – Sağ birleştirme: Hedef tabloyu ikincil bir ana veri kümesiyle kısaltma
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
Changes adlı bir tabloya yüklenen, değişim kayıtlarını temsil eden bir veri kümesi.
Kaynak sistem Teamwork öğesinden kaynaklanan değişiklik kayıtlarını temsil eden ikinci bir veri kümesi. Bu veri kümesi bir Right Join yük önekine bağlanarak orijinal kayıtlarla yüklenir ve birleştirilir.
Bu, hedef tabloda eşleşen bir Change ID yoksa herhangi bir Teamwork kaydını kaybetmeden Teamwork değişim kayıtlarının tutulmasını sağlar.
Komut dosyası
Changes:
Load * inline [
Change ID Status ID Scheduled Start Date Scheduled End Date Business Impact
10030 4 19/01/2022 23/02/2022 None
10015 3 04/01/2022 15/02/2022 Low
10103 1 02/04/2022 29/05/2022 Medium
10185 2 23/06/2022 08/09/2022 None
10323 1 08/11/2022 26/11/2022 High
10326 2 11/11/2022 05/12/2022 None
10138 2 07/05/2022 03/08/2022 None
10031 3 20/01/2022 25/03/2022 Low
10040 1 29/01/2022 22/04/2022 None
10134 1 03/05/2022 08/07/2022 Low
10334 2 19/11/2022 06/02/2023 Low
10220 2 28/07/2022 06/09/2022 None
10264 1 10/09/2022 17/10/2022 Medium
10116 1 15/04/2022 24/04/2022 None
10187 2 25/06/2022 24/08/2022 Low
] (delimiter is '\t');
Teamwork_changes:
Right Join (Changes)
Load
[Ticket ID] AS [Change ID],
[Source System]
inline
[
Ticket ID Source System
10040 Teamwork
10015 Teamwork
10103 Teamwork
10031 Teamwork
50231 Teamwork
] (delimiter is '\t');
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin: