match - kod ve grafik fonksiyonu
match fonksiyonu, ilk parametreyi ondan sonra gelen tüm parametrelerle karşılaştırır ve eşleşen ifadelerin sayısal konumunu döndürür. Karşılaştırma büyük/küçük harf duyarlıdır.
Söz Dizimi:
match( str, expr1 [ , expr2,...exprN ])
Bu konudaki bazı örnekler satır içi yüklemeler kullanmaktadır. Veri yüklemek için satır içi yüklemeler kullanma
Örnek: match kullanan yükleme kodu
Yükleme kodu
Veri alt kümesini yüklemek için match öğesini kullanabilirsiniz. Örneğin, fonksiyondaki bir ifade için sayısal değer döndürebilirsiniz. Daha sonra sayısal değere göre verileri sınırlayabilirsiniz. Bir eşleşme olmadığında Match, 0 değerini döndürür. Bu nedenle bu örnekte eşleşmeyen tüm ifadeler 0 değerini döndürür ve WHERE deyimi tarafından veri yüklemesinden hariç tutulur.
Veri yükleme düzenleyicisinde yeni bir sekme oluşturun, sonra aşağıdaki verileri satır içi yükleme olarak yükleyin. Sonuçları görmek için Qlik Sense uygulamasında tabloyu oluşturun.
Transactions:
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, m, orange
3752, 20180916, 5.75, 1, 5646471, S, blue
3753, 20180922, 125.00, 7, 3036491, l, Black
3754, 20180922, 484.21, 13, 049681, xs, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
];
/*
Create new table called Transaction_Buckets
Create new fields called Customer, and Color code - Blue and Black
Load Transactions table.
Match returns 1 for 'Blue', 2 for 'Black'.
Does not return a value for 'blue' because match is case sensitive.
Only values that returned numeric value greater than 0
are loaded by WHERE statment into Transactions_Buckets table.
*/
Transaction_Buckets:
Load
customer_id,
customer_id as [Customer],
color_code as [Color Code Blue and Black]
Resident Transactions
Where match(color_code,'Blue','Black') > 0;
Sonuçlar
Renk Kodu Blue ve Black | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
Örnekler - match kullanan grafik ifadeleri
Grafik ifadesi 1
Komut dosyası
Veri yükleme düzenleyicisinde yeni bir sekme oluşturun, sonra aşağıdaki verileri satır içi yükleme olarak yükleyin. Verileri yükledikten sonra, bir Qlik Sense tablosunda aşağıdaki grafik ifadesi örneklerini oluşturun.
MyTable:
Load * inline [Cities, Count
Toronto, 123
Toronto, 234
Toronto, 231
Boston, 32
Boston, 23
Boston, 1341
Beijing, 234
Beijing, 45
Beijing, 235
Stockholm, 938
Stockholm, 39
Stockholm, 189
zurich, 2342
zurich, 9033
zurich, 0039];
'Stockholm', match fonksiyonundaki ifade listesinde yer almadığından, aşağıdaki tablodaki ilk ifade, Stockholm için 0 değerini döndürür. Ayrıca match karşılaştırması büyük/küçük harf duyarlı olduğundan 'Zurich' için de 0 değerini döndürür.
Cities | match( Cities,'Toronto','Boston','Beijing','Zurich') | match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich') |
---|---|---|
Beijing | 3 | 3 |
Boston | 2 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 0 | 5 |
Grafik ifadesi 2
Bir ifade için özel bir sıralama gerçekleştirmek için match öğesini kullanabilirsiniz.
Varsayılan olarak sütunlar, verilere bağlı olarak sayısal ve alfabetik şekilde sıralanır.
Cities |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
Sıralamayı değiştirmek için aşağıdakileri yapın:
- Özellikler panelinde grafiğiniz için Sıralama bölümünü açın.
- Özel sıralama yapmak istediğiniz sütun için otomatik sıralamayı kapatın.
- Sayısal olarak sırala ve Alfabetik olarak sırala seçeneğinin seçimini kaldırın.
-
İfadeye göre sırala seçeneğini belirleyin ve şuna benzer bir ifade girin:
=match( Cities, 'Toronto','Boston','Beijing','Stockholm','zurich')
Cities sütunundaki sıralama düzeni değişir.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
Döndürülen sayısal değeri de görüntüleyebilirsiniz.
Şehirler | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |