Birleştirme
Birleştirme, iki tabloyu alan ve bunları bir tabloda birleştiren bir işlemdir.
İki tablo, her farklı sütun adı için bir sütunla birlikte biri diğerinin üzerine yığınlanarak birbirlerine eklenir. Veri değiştirilmez ve ortaya çıkan tablo iki orijinal tabloyla aynı sayıda kayıt içerir. Ortaya çıkan tablonun ikiden fazla tablo için birleştirilmesini sağlamak amacıyla sırayla birkaç birleştirme işlemi gerçekleştirilebilir.
Otomatik birleşim
İki veya daha fazla yüklü tablonun alan adları ve alan sayısı tam olarak aynıysa Qlik Sense farklı deyimlerin içeriğini otomatik olarak bir tabloda birleştirir.
Alanların sayısı ve adları, otomatik birleştirmenin gerçekleşebilmesi için tam olarak aynı olmalıdır. İki LOAD deyiminin sırası rastgeledir ancak tabloya, önce yüklenen tablonun adı verilecektir.
Aşağıdakileri yapın:
- Veri yükleme düzenleyicisini Scripting Tutorial uygulamasında açın.
- Dates sekmesine tıklayın.
- Verileri yükle'ye tıklayın.
- Dates bölümündeki kodda yeni bir satıra Table2 için LOAD deyimini kopyalayıp yapıştırın. Bu, verilerin iki defa yüklenmesini sağlar. İkinci tabloya Table2a adını verin.
- Verileri yükle'ye tıklayın.
- Veri modeli görüntüleyicisi'ni açın.
- Önizlemeyi göster öğesine tıklayın.
O ana kadar yazdığınız komut dosyasına bağlı olarak Qlik Sense, Dates.xlsx veri dosyasından Table2 tablosuna 628 satır yükler.
Ayrıca, mevcut kodu silip yerine şunu kopyalayıp yapıştırabilirsiniz:
Table2:
LOAD
"Date",
Month (Date) as "Month",
Quarter,
"Week",
"Year"
FROM [lib://DataFiles/Dates.xlsx]
(ooxml, embedded labels, table is Dates);
Table2a:
LOAD
"Date",
Month (Date) as "Month",
Quarter,
"Week",
"Year"
FROM [lib://DataFiles/Dates.xlsx]
(ooxml, embedded labels, table is Dates);
Kodunuz şöyle görünmelidir:
Qlik Sense, Table2 ve ardından Table2a tablolarını yüklemez. Bunun yerine, Table2a tablosunun Table2 tablosuyla aynı alan adlarına ve alan sayısına sahip olduğunu tanır. Ardından Table2a tablosunun verilerini Table2 tablosuna ekler ve Table2a tablosunu siler. Sonuç olarak Table2 tablosu 1.256 satıra sahip olur.
Yalnızca Table2 oluşturulur. Table2 öğesini seçin. Tabloda 256 satır vardır.
Zorunlu birleşim
İki veya daha fazla tablo tam olarak aynı alan setine sahip olmasa da Qlik Sense uygulamasını iki tabloyu birleştirmeye zorlamak mümkündür. Bu, kodda bir tabloyu başka bir adlandırılmış tabloyla veya en son oluşturulan tabloyla birleştiren Concatenate önekiyle gerçekleştirilir.
Aşağıdakileri yapın:
- Concatenate ekleyerek ve Week değerini derleme dışında bırakarak Table2a için LOAD deyimini düzenleyin.
- Verileri yükle'ye tıklayın.
- Veri modeli görüntüleyicisi'ni açın.
- Veri modeli görüntüleyicisinde Table2 tablosuna tıklayın ve ardından Önizleme öğesine tıklayın.
- Table2 tablosundaki Week öğesine tıklayın. Önizlemede, alan için null olmayan değerlerin sayısının 628 olduğu görülür. Fakat diğer herhangi bir alana tıklarsanız null olmayan değerlerin sayısının 1256 olduğunu görürsünüz. Week, Table2 tablosundan yalnızca bir kere yüklenmiştir. Ortaya çıkan değerlerin veya kayıtların sayısı, Table2 ve Table2a içindeki kayıt sayılarının toplamıdır.
Kodunuz şu şekilde görünmelidir:
Table2a:
Concatenate LOAD
"Date",
Month (Date) as "Month",
Quarter,
// "Week",
"Year"
FROM [lib://DataFiles/Dates.xlsx]
(ooxml, embedded labels, table is Dates);
Week öğesine yorum ekleyerek, tabloların aynı olmamasını sağlarız.
Artık Table2a oluşturulmadığını görebildiğiniz.
Tablo, Date, Month, Quarter, Week ve Year alanlarına sahiptir. Week alanı, Table2'den yüklendiği için hala gösterilmektedir.
Birleşimi engelleme
İki veya daha fazla yüklü tablonun alan adları ve alan sayısı tam olarak aynıysa, Qlik Sense farklı deyimlerin içeriğini otomatik olarak bir tabloda birleştirir. Bu, bir NoConcatenate deyimiyle engellenebilir. İlişkilendirilmiş LOAD veya SELECT deyimiyle yüklenen tablo, bu durumda var olan tabloyla birleştirilmez.
Aşağıdakileri yapın:
- İki tablonun içeriklerini tamamen ayırmak için, Table2a tablosundaki LOAD deyimine NoConcatenate ekleyin ve Qlik Sense öğesinin eşleşen alanları temel alarak yapay anahtar oluşturmaması için alanları yeniden adlandırın. Table2 tablosundaki Week öğesini derleme dışında bırakarak iki tablonun aynı alanlara sahip olmasını sağlayın.
- Veri yükle'ye tıklayın.
- Veri modeli görüntüleyicisi'ni açın.
- Birleştirmeyi göstermeyi tamamladığımıza göre, artık Table2a tablosuna ihtiyacımız olmayacak. Table2a tablosu için LOAD deyimindeki tüm satırları silin ve ardından Veri yükle'ye tıklayın.
Kodunuz şu şekilde görünmelidir:
Table2:
LOAD
"Date",
Month (Date) as "Month",
Quarter,
"Week",
"Year"
FROM [lib://DataFiles/Dates.xlsx]
(ooxml, embedded labels, table is Dates);
Table2a:
NoConcatenate LOAD
"Date" as "Date2",
Month (Date) as "Month2",
Quarter as "Quarter2",
"Week" as "Week2",
"Year" as "Year2"
FROM [lib://DataFiles/Dates.xlsx]
(ooxml, embedded labels, table is Dates);
Artık iki tablonun tamamen ayrılmış olduğunu görebilirsiniz.