Ana içeriğe geç Skip to complementary content

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.

  1. Veri yükleme düzenleyicisini Scripting Tutorial uygulamasında açın.
  2. Dates sekmesine tıklayın.
  3. Verileri yükle'ye tıklayın.
  4. 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.

    Veri yükleme ilerleme penceresi

    Veri yükleme ilerleme penceresi
  5. 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.
  6. 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:

    Dates sekmesinde komut dosyası

    Tarihler sekmesinde komut dosyası.
  7. Verileri yükle'ye tıklayın.
  8. 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.

    Veri yükleme ilerleme penceresinde birleştirme

    Veri yükleme ilerleme penceresinde birleştirme.
  9. Veri modeli görüntüleyicisi'ni açın.
  10. Önizlemeyi göster öğesine tıklayın.
  11. Yalnızca Table2 oluşturulur. Table2 öğesini seçin. Tabloda 256 satır vardır.

    Table2 tablosunu gösteren veri modeli görüntüleyicisi

    Table2'yi gösteren veri modeli görüntüleyicisi.

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.

  1. Concatenate ekleyerek ve Week değerini derleme dışında bırakarak Table2a için LOAD deyimini düzenleyin.
  2. 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.

  3. Verileri yükle'ye tıklayın.
  4. Veri modeli görüntüleyicisi'ni açın.
  5. Artık Table2a oluşturulmadığını görebildiğiniz.

  6. Veri modeli görüntüleyicisinde Table2 tablosuna tıklayın ve ardından Önizleme öğesine tıklayın.
  7. Tablo, Date, Month, Quarter, Week ve Year alanlarına sahiptir. Week alanı, Table2'den yüklendiği için hala gösterilmektedir.

  8. 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.

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.

  1. İ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.
  2. 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);			

  3. Veri yükle'ye tıklayın.
  4. Veri modeli görüntüleyicisi'ni açın.
  5. Artık iki tablonun tamamen ayrılmış olduğunu görebilirsiniz.

    Table2 ve Table 2a tablolarını gösteren veri modeli görüntüleyicisi

    Table2 ve Table 2a'yı gösteren veri modeli görüntüleyicisi.
  6. 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.