# 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

Yüklenen iki veya daha fazla tablonun alan adları ve alan sayısı tam olarak aynıysa uygulama, farklı deyimlerin içeriğini otomatik olarak tek 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:

1. Scripting Tutorial uygulamasında Veri yükleme düzenleyicisi'ni açın.
2. Date sekmesine tıklayın.
3. Verileri yükle'ye tıklayın.

   Şu ana kadar yazdığınız komut dosyası temelinde, uygulama Dates.xlsx veri dosyasından Table2 içine 628 satır yükler.

   Veri yükleme ilerleme penceresi

   Veri yükleme ilerleme penceresi

   Veri yükleme ilerleme penceresi ![Veri yükleme ilerleme penceresi](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/tutorial-load-progress-dates.png)
4. Dates bölümündeki kodda yeni bir satıra LOAD için Table2 deyimini kopyalayıp yapıştırın. Bu, verilerin iki defa yüklenmesini sağlar. İkinci tabloya Table2a adını verin.

   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ı

   Dates sekmesinde komut dosyası

   DatesDates sekmesinde komut dosyası ![Tarihler sekmesinde komut dosyası.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/tutorial-load_dates_concat-cloud-rev.png)
5. Verileri yükle'ye tıklayın.

   Uygulama Table2 ve ardından Table2a 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

   Veri yükleme ilerleme penceresinde birleştirme ![Veri yükleme ilerleme penceresinde birleştirme.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/tutorial-load-progress-dates-concat.png)
6. Veri modeli görüntüleyicisi'ni açın.
7. Önizlemeyi göster öğesine tıklayın.

   Yalnızca Table2 oluşturulur. Table2 öğesini seçin. Tabloda 1256 satır vardır.

   tablosunu gösteren veri modeli görüntüleyicisiTable2

   tablosunu gösteren veri modeli görüntüleyicisiTable2

   tablosunu gösteren tablosunu gösteren veri modeli görüntüleyicisiTable2Table2 ![Table2'yi gösteren veri modeli görüntüleyicisi.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_data_model_viewer_table2.png)

## Zorunlu birleşim

İki veya daha fazla tablo tam olarak aynı alan kümesine sahip olmasa bile, uygulamayı iki tabloyu birleştirmeye zorlamak yine de 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:

1. LOAD ekleyerek ve Table2a değerini derleme dışında bırakarak Concatenate için Week deyimini düzenleyin.

   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.
2. Verileri yükle'ye tıklayın.
3. Veri modeli görüntüleyicisi'ni açın.

   Artık Table2a oluşturulmadığını görebildiğiniz.
4. Veri modeli görüntüleyicisinde Table2 tablosuna tıklayın ve ardından Önizleme öğesine tıklayın.

   Tablo, Date, Month, Quarter, Week ve Year alanlarına sahiptir. Week alanı, Table2'den yüklendiği için hala gösterilmektedir.
5. Week tablosundaki Table2 öğ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

Yüklenen iki veya daha fazla tablonun alan adları ve alan sayısı tamamen aynıysa uygulama, farklı deyimlerin içeriğini otomatik olarak tek 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:

1. İki tablonun içeriğini tamamen ayırabilmek için Table2a içindeki LOAD ifadesine NoConcatenate ekleyin ve uygulamanın eşleşen alanlara dayalı bir yapay anahtar oluşturmaması için alanları yeniden adlandırın. Week tablosundaki Table2 öğesini derleme dışında bırakarak iki tablonun aynı alanlara sahip olmasını sağlayı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);			
   ```
2. Veri yükle'ye tıklayın.
3. Veri modeli görüntüleyicisi'ni açın.

   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 tablolarını gösteren veri modeli görüntüleyicisi

   Table2Table2 ve Table 2aTable 2a tablolarını gösteren veri modeli görüntüleyicisi ![Table2 ve Table 2a'yı gösteren veri modeli görüntüleyicisi.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/tutorial-data-model-sales-noconcat.png)
4. Birleştirmeyi göstermeyi tamamladığımıza göre, artık Table2a tablosuna ihtiyacımız olmayacak. LOAD tablosu için Table2a deyimindeki tüm satırları silin ve ardından Veri yükle'ye tıklayın.