NoConcatenate öneki, aksi takdirde otomatik olarak birleştirilecek olan, birbiriyle alan kümelere sahip yüklenmiş iki tablonun iki ayrı dahili tablo olarak işlenmesini zorlar.
Söz Dizimi:
NoConcatenate(
loadstatement |
selectstatement )
Varsayılan olarak, komut dosyasına daha önce yüklenmiş olan bir tabloyla tam olarak aynı sayıda alan ve eşleşen alan adları içeren bir tablo yüklenirse Qlik Sense bu iki tabloyu otomatik olarak birleştirir. İkinci tablo farklı adlandırılmış olsa bile bu işlem gerçekleşir.
Öte yandan ikinci tablonun LOAD deyiminden veya SELECT deyiminden önce NoConcatenate komut dosyası ön eki eklendiyse, bu iki tablo birbirinden ayrı yüklenir.
NoConcatenate için tipik bir kullanım örneği, tablonun geçici bir kopyasını oluşturup orijinal tablonun bir kopyasını korurken oluşturduğunuz o kopyada bazı geçici dönüştürmeler yapmanızın gerektiği durumlardır. NoConcatenate, söz konusu kopyayı oluşturabilmenizi ve bu kopyanın kaynak tabloya örtük olarak geri eklenmemesini sağlar.
Bölgesel ayarlar
Aksi belirtilmedikçe bu konudaki örneklerde aşağıdaki tarih formatı kullanılır: AA/GG/YYYY. Tarih formatı, veri yükleme kodunuzda SET DateFormat deyiminde belirtilir. Varsayılan tarih formatı, bölgesel ayarlarınız ve diğer unsurlar nedeniyle sisteminizde farklı olabilir. Aşağıdaki örneklerdeki formatları ihtiyaçlarınıza uyacak şekilde değiştirebilirsiniz. Dilerseniz yükleme kodunuzdaki formatları aşağıdaki örneklere uyacak şekilde değiştirebilirsiniz.
Uygulamalardaki bölgesel ayarlarda Qlik Sense'in yüklü olduğu bilgisayarın veya sunucunun bölgesel sistem ayarları temel alınır. Eriştiğiniz Qlik Sense sunucusu İsveç olarak ayarlıysa, Veri yükleme düzenleyicisi tarihler, saat ve para birimi için İsveç bölgesel ayarlarını kullanır. Bu bölgesel format ayarları, Qlik Sense kullanıcı arayüzünde görüntülenen dil ayarlarıyla ilgili değildir. Qlik Sense, kullandığınız tarayıcıyla aynı dilde görüntülenir.
İki veri kümesi tam olarak aynı sayıda alan ve aynı alan adları içerdiğinden, komut dosyası çalıştırıldığında Sales tablosu örtük olarak mevcut Transactions tablosuyla birleştirilir. Bu işlem, ikinci tablo adı etiketi ‘Sales’ sonuç kümesini adlandırmayı denemesine rağmen gerçekleşir.
Veri yükleme ilerlemesi günlüğüne bakarak Sales veri kümesinin örtük olarak birleştirildiğini görebilirsiniz.
İşlem verilerinin örtük olarak birleştirildiğini gösteren Veri yükleme ilerlemesi günlüğü.
Örnek 2 – Kullanım örneği senaryosu
Genel bakış
Bu kullanım örneği senaryosunda şunlar vardır:
Aşağıdakileri içeren işlemler veri kümesi:
id
date
amount (GBP cinsinden)
Aşağıdakileri içeren geçerli tablo:
USD'den GBP'ye kur oranı
Aşağıdakileri içeren ikinci bir işlemler veri kümesi:
id
date
amount (USD cinsinden)
Sıralı düzende beş komut dosyası yükleyeceksiniz.
İlk komut dosyası, Transactions adlı tabloya gönderilen tarihlerin ve GBP cinsinden tutarların yer aldığı ilk veri kümesini içerir.
İkinci komut dosyası şunları içerir:
Transactions_in_USD adlı tabloya gönderilen tarihlerin ve USD cinsinden tutarların yer aldığı ikinci bir veri kümesi.
Örtük birleştirmeyi önlemek için Transactions_in_USD veri kümesinin LOAD deyimi öncesine yerleştirilen noconcatenate ön eki.
Üçüncü komut dosyası, Transactions_in_USD tablosunda GBP ile USD arasındaki kur oranını oluşturmak için kullanılacak join ön ekini içerir.
Dördüncü komut dosyası, ilk Transactions tablosuna Transactions_in_USD ekleyecek concatenate ön ekini içerir.
Beşinci komut dosyası, verileri Transactions tablosuyla birleştirilmiş olan Transactions_in_USD tablosunu kaldıracak drop table deyimini içerir.
Verileri yükleyin ve Veri modeli görüntüleyicisine gidin. Transactions_in_USD tablosunu seçin; mevcut her kayıtta değeri 0,7 olan bir "rate" alanı bulunduğunu görürsünüz.
Dördüncü komut dosyası
Bu komut dosyası yerleşik yüklemeyi kullanarak, tutarları USD'ye dönüştürdükten sonra Transactions_in_USD tablosunu Transactions tablosuyla birleştirir.
Verileri yükleyin ve tabloya gidin. Sekizinci satırdan on dördüncü satıra kadar GBP cinsinden tutarlar içeren yeni girişleri görürsünüz.
Dördüncü komut dosyası sonuçları
kimlik
date
amount
1
12/30/2018
23.56
2
12/07/2018
556.31
3
12/16/2018
5.75
4
12/22/2018
125.00
5
12/22/2018
484.21
6
12/22/2018
59.18
7
12/23/2018
177.42
8
01/01/2019
114.989
8
01/01/2019
164.27
9
01/03/2019
268.80
9
01/03/2019
384.00
10
01/06/2019
18.074
10
01/06/2019
25.82
11
01/09/2019
218.40
11
01/09/2019
312.00
12
01/15/2019
3.192
12
01/15/2019
4.56
13
01/16/2019
63.168
13
01/16/2019
90.24
14
01/18/2019
13.524
14
01/18/2019
19.32
Beşinci komut dosyası
Bu komut dosyası, dördüncü komut dosyasının sonuçlar tablosundan yinelenen girişleri bırakarak yalnızca GBP cinsinden tutarlar içeren girişlerin kalmasını sağlar.
drop tables Transactions_in_USD;
Sonuçlar
Verileri yükleyin ve tabloya gidin.
Beşinci komut dosyası sonuçları
kimlik
date
amount
1
12/30/2018
23.56
2
12/07/2018
556.31
3
12/16/2018
5.75
4
12/22/2018
125.00
5
12/22/2018
484.21
6
12/22/2018
59.18
7
12/23/2018
177.42
8
01/01/2019
114.989
9
01/03/2019
268.80
10
01/06/2019
18.074
11
01/09/2019
218.40
12
01/15/2019
3.192
13
01/16/2019
63.168
14
01/18/2019
13.524
Beşinci komut dosyasının yüklenmesinin ardından, sonuçlar tablosunda her iki işlem veri kümesinde de mevcut olan on dört işlemin tümü gösterilir; ancak 8-14 arası işlemlerin tutarları GBP'ye dönüştürülmüştür.
İkinci komut dosyasında Transactions_in_USD değerinden önce kullanılan NoConcatenate ön ekini kaldırırsak, komut dosyası şu hatayla başarısız olur:“'Transactions_in_USD' tablosu bulunamadı”. Bunun nedeni Transactions_in_USD tablosunun orijinal Transactions tablosuyla otomatik olarak birleştirilmiş olmasıdır.