
Recent, în Qlik Sense Cloud și Client Managed a fost adăugat un set bogat de funcții de expresii regulate. În acest articol vă vom prezenta câteva cazuri de utilizare pentru această funcție și vă vom arăta cum puteți deveni instantaneu un maestru al expresiilor regulate.
Expresiile regulate (Regular Expressions – RegEx) sunt un limbaj puternic pentru potrivirea șabloanelor în șiruri de caractere, disponibil de decenii în multe limbaje de programare și scripting. Qlik Sense Cloud și versiunea client-managed din mai 2025 aduc întreaga putere a RegEx în Qlik printr-un nou set de funcții pentru diagrame și scripturi de încărcare.
Ce puteți face cu RegEx?
- Validați dacă valoarea unui câmp corespunde unui anumit model. De exemplu, este acesta un număr de telefon sau un număr de card de credit valid?
- Extrageți subșiruri dintr-un șir mai mare.
- Reformatați un șir pentru a corespunde regulilor dvs.
Iată un exemplu pentru a începe. Vom verifica dacă valorile „Telefon” corespund formatului permis pentru numerele de telefon din România.
Șirul ‘^(?:\+40|0)[ -]?7\d{2}[ -]?\d{3}[ -]?\d{3}$’ este un model de expresie regulată care reprezintă regula de validare pentru numerele de telefon din România. Ca orice limbaj de programare puternic și concis din punct de vedere sintactic, modelele RegEx pot părea puțin descurajante la început. Iată explicația a ceea ce impune acest model.
Dacă dorești să permiți anumite caractere de separare (spații, cratime) între grupuri de cifre, poți extinde expresia regulată. De exemplu, următoarea expresie permite un separator opțional între anumite grupuri:
^(?:\+40|0)[ -]?7\d{2}[ -]?\d{3}[ -]?\d{3}$
Explicație:
- (?:\+40|0) – ca și mai sus, prefix internațional sau 0 național.
- [ -]? – permite un spațiu sau o cratimă opțional după prefix.
- 7\d{2} – primele trei cifre ale numărului mobil (ex.: „742”).
- [ -]? – separator opțional.
- \d{3} – următoarele trei cifre.
- [ -]? – separator opțional.
- \d{3} – ultimele trei cifre.
Iată un alt exemplu legat de extragerea numelor și prenumelor din șiruri de caractere, după cum urmează:
James SmithMary JohnsonJohn WilliamsPatricia
BrownRobert Jones-GarciaMichael MillerLinda Davis
Funcția Qlik ExtractRegEx este funcția pe care vrem să o folosim. Știm suficient RegEx din minte pentru a crea un model care să separe literele majuscule și spațiile. Dar cum să rezolvăm problema cratimei din „Jones-Garcia”? Ne-ar da serioase dureri de cap.
AI este un instrument excelent pentru generarea de modele RegEx așadar, apelați la chatbotul AI preferat.
Solicitarea Copilot să genereze modelul
Avantajul acestei abordări este că nu trebuie să specificați în mod explicit „… și să gestionez cratimele”, ci doar să furnizez date de probă.
Este corect acest model? L-ați putea introduce direct în Qlik, dar este de preferat să îl validați mai întâi, folosind un tester RegEx. Există o serie de instrumente gratuite, iar regex101.com este cel pe care vă sugerăm să îl folosiți.
Vă recomandăm să dedicați 30 de minute învățării noțiunilor de bază ale RegEx pentru a utiliza la maximum asistenții și instrumentele de testare.
Este posibil să fi utilizat funcția SubField din scriptul Qlik pentru a împărți un șir în mai multe rânduri pe baza unui delimitator, cum ar fi o virgulă. Dar SubField nu funcționează atunci când virgula face parte dintr-un șir între ghilimele, așa cum se întâmplă frecvent în fișierele CSV. Noua funcție SubFieldRegEx rezolvă această problemă cu ușurință.
Nu renunțați dacă RegEx vă ajută doar în proporție de 90%. Combinați câteva funcții Qlik, cum ar fi clauza where (unde) de mai sus, pentru a finaliza operațiunea.
Implementările RegEx în alte limbaje utilizează un indicator de opțiune pentru a indica o operațiune care nu ține cont de majuscule și minuscule. Qlik a optat pentru utilizarea unei funcții suplimentare cu sufixul „l” pentru a indica o operațiune care nu ține cont de majuscule și minuscule. So:
- MatchRegEx – ține cont de majuscule și minuscule
- MatchRegExl – nu ține cont de majuscule și minuscule
O caracteristică foarte interesantă a funcției Qlik MatchRegEx este că permite specificarea mai multor modele de potrivire.
Funcțiile Qlik RegEx sunt documentate în secțiunea String Functions. Ar fi fost bine ca aceste funcții să aibă o secțiune separată, dar vom rezuma aici funcțiile disponibile, cu mențiunea că acestea sunt corecte la momentul publicării acestui articol.
- ExtractRegEx() extrage text dintr-o expresie șir de intrare utilizând modelul de expresie regulată specificat. Funcția returnează o valoare nulă dacă nu se găsesc potriviri..
- IndexRegEx() caută șirul de intrare și returnează poziția inițială a celei de-a n-a apariții a modelului de expresie regulată specificat.
- MatchRegEx() compară șirul de intrare cu unul sau mai multe modele de expresii regulate specificate și returnează poziția numerică a modelelor de expresii regulate care se potrivesc.
- ReplaceRegEx() returnează un șir după înlocuirea uneia sau mai multor potriviri între un șir de intrare și un model de expresie regulată specificat.
- SubFieldRegEx() extrage text dintr-o expresie șir de intrare, utilizând modelul de expresie regulată specificat ca delimitator.
Există o serie de parametri opționali utili, consultați documentația pentru detalii, printre care și ReplaceRegExGroup.
Veți folosi aceste funcții des? Probabil că nu. Dar când aveți nevoie să curățați date dezordonate sau să extrageți date relevante, aceste funcții pot fi de neprețuit.

Scriptul QlikView conține multe funcții de șiruri de caractere puternice și utile. Dar uneori doriți să beneficiați de puterea potrivirii modelelor cu expresii regulate (RegExp). QV nu oferă încă o funcție nativă de expresii regulate.
Acest exemplu utilizează o macro foarte simplă care folosește VBScript pentru a oferi o funcție de potrivire a modelelor RegExp în scriptul QV.
Articol preluat de aici: https://qlikviewcookbook.com și adaptat de QQinfo.
Pentru informații despre Qlik™, clic aici: qlik.com.
Pentru soluții specifice și specializate de la QQinfo, clic aici: QQsolutions.
Pentru a fi în contact cu ultimele noutăți în domeniu, soluții inedite explicate, dar și cu perspectivele noastre personale în ceea ce privește lumea managementului, a datelor și a analiticelor, clic aici: QQblog !