NoConcatenate
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.
Örnek | Sonuç |
---|---|
Source: LOAD A,B from file1.csv; CopyOfSource: NoConcatenate LOAD A,B resident Source; |
Hesaplama olarak A ve B içeren bir tablo yüklenir. NoConcatenate değişkeni kullanılarak aynı alanları içeren ikinci bir tablo ayrıca yüklenir. |
Örnek 1 – Örtük birleştirme
Genel bakış
Bu örnekte sıralı düzende iki komut dosyası ekleyeceksiniz.
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
-
Transactions adlı tabloya gönderilen tarihlerin ve tutarların yer aldığı ilk veri kümesi.
İlk komut dosyası
Transactions:
LOAD
*
Inline [
id, date, amount
1, 08/30/2018, 23.56
2, 09/07/2018, 556.31
3, 09/16/2018, 5.75
4, 09/22/2018, 125.00
5, 09/22/2018, 484.21
6, 09/22/2018, 59.18
7, 09/23/2018, 177.42
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
-
id
-
date
-
amount
kimlik | date | amount |
---|---|---|
1 | 08/30/2018 | 23.56 |
2 | 09/07/2018 | 556.31 |
3 | 09/16/2018 | 5.75 |
4 | 09/22/2018 | 125.00 |
5 | 09/22/2018 | 484.21 |
6 | 09/22/2018 | 59.18 |
7 | 09/23/2018 | 177.42 |
İkinci komut dosyası
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
-
Sales adlı tabloya gönderilen tam olarak aynı alanların yer aldığı ikinci veri kümesi.
Sales:
LOAD
*
Inline [
id, date, amount
8, 10/01/2018, 164.27
9, 10/03/2018, 384.00
10, 10/06/2018, 25.82
11, 10/09/2018, 312.00
12, 10/15/2018, 4.56
13, 10/16/2018, 90.24
14, 10/18/2018, 19.32
];
Sonuçlar
Verileri yükleyin ve tabloya gidin.
id | date | amount |
---|---|---|
1 | 08/30/2018 | 23.56 |
2 | 09/07/2018 | 556.31 |
3 | 09/16/2018 | 5.75 |
4 | 09/22/2018 | 125.00 |
5 | 09/22/2018 | 484.21 |
6 | 09/22/2018 | 59.18 |
7 | 09/23/2018 | 177.42 |
8 | 10/01/2018 | 164.27 |
9 | 10/03/2018 | 384.00 |
10 | 10/06/2018 | 25.82 |
11 | 10/09/2018 | 312.00 |
12 | 10/15/2018 | 4.56 |
13 | 10/16/2018 | 90.24 |
14 | 10/18/2018 | 19.32 |
İ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.
Ö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.
İlk komut dosyası
Transactions:
Load * Inline [
id, 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
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
- id
- date
- amount
id | 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 |
Tabloda GBP cinsinden tutarların yer aldığı ilk veri kümesi gösterilir.
İkinci komut dosyası
Transactions_in_USD:
NoConcatenate
Load * Inline [
id, date, amount
8, 01/01/2019, 164.27
9, 01/03/2019, 384.00
10, 01/06/2019, 25.82
11, 01/09/2019, 312.00
12, 01/15/2019, 4.56
13, 01/16/2019, 90.24
14, 01/18/2019, 19.32
];
Sonuçlar
Verileri yükleyin ve tabloya gidin.
id | 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 | 164.27 |
9 | 01/03/2019 | 384.00 |
10 | 01/06/2019 | 25.82 |
11 | 01/09/2019 | 312.00 |
12 | 01/15/2019 | 4.56 |
13 | 01/16/2019 | 90.24 |
14 | 01/18/2019 | 19.32 |
Transactions_in_USD tablosundan ikinci veri kümesinin eklendiğini görürsünüz.
Üçüncü komut dosyası
Bu komut dosyası USD'den GBP'ye kur oranını Transactions_in_USD tablosuna ekler.
Join (Transactions_in_USD)
Load * Inline [
rate
0.7
];
Sonuçlar
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.
Concatenate (Transactions)
LOAD
id,
date,
amount * rate as amount
Resident Transactions_in_USD;
Sonuçlar
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.
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.
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.