wildmatch - kod ve grafik fonksiyonu
wildmatch fonksiyonu ilk parametreyi sonraki tüm parametrelerle karşılaştırır ve eşleşen ifadenin sayısını döndürür. Karşılaştırma dizelerinde joker karakterlerin ( * ve ?) kullanılmasına izin verir. *, herhangi bir karakter sırasını eşleştirir. ?, herhangi bir tek karakterle eşleşir. Karşılaştırma büyük/küçük harf duyarlı değildir.
Söz Dizimi:
wildmatch( str, expr1 [ , expr2,...exprN ])
Joker karakterler olmayan karşılaştırma kullanmak isterseniz match veya mixmatch fonksiyonlarını kullanın.
Bu konudaki bazı örnekler satır içi yüklemeler kullanmaktadır. Satır içi yüklemeler
Örnek: wildmatch kullanan yükleme kodu
Yükleme kodu
Veri alt kümesini yüklemek için wildmatch öğ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 Wildmatch, 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 - Black, Blue, blue, red Load Transactions table. Wildmatch returns 1 for 'Black', 'Blue', and 'blue', and 2 for 'Red'. Only values that returned numeric value greater than 0 are loaded by WHERE statement into Transactions_Buckets table. */ Transaction_Buckets: Load customer_id, customer_id as [Customer], color_code as [Color Code Black, Blue, blue, Red] Resident Transactions Where wildmatch(color_code,'Bl*','R??') > 0;
Sonuçlar
Renk Kodu Black, Blue, blue, Red | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
blue | 5646471 |
Red | 049681 |
Red | 2038593 |
Örnekler: wildmatch kullanan grafik ifadeleri
Grafik ifadesi 1
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', wildmatch fonksiyonundaki ifade listesinde yer almadığından, aşağıdaki tablodaki ilk ifade, Stockholm için 0 değerini döndürür. Ayrıca ? yalnızca tek bir karakterle eşleştiğinden 'Boston' için de 0 değerini döndürür.
Cities | wildmatch( Cities,'Tor*','?ton','Beijing','*urich') | wildmatch( Cities,'Tor*','???ton','Beijing','Stockholm','*urich') |
---|---|---|
Beijing |
3 |
3 |
Boston | 0 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 4 | 5 |
Grafik ifadesi 2
Bir ifadede özel bir sıralama işlemi yapmak için wildmatch 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:
=wildmatch( Cities, 'Tor*','???ton','Beijing','Stockholm','*urich')
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 & ' - ' & wildmatch ( Cities, 'Tor*','???ton','Beijing','Stockholm','*urich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |