Nu aveți încă o soluție pentru evaluarea continuă a calității datelor din rapoartele extrase !? QQvalidator™, ar putea fi răspunsul la această provocare !
Conținutul pe scurt al întregii postări îl găsiți aici
Introducere
Majoritatea studiilor internaționale care au cercetat încrederea managementului în corectitudinea datlor livrate de rapoartele companiilor au arătat (în mod surprinzător pentru noi) că la peste 60% dintre respondenți nivelul de neîncredere era extrem de ridicat.
Așa că am ridicat mănușa și am dezvoltat recent o unealtă Qlik™ pe care noi o numim QQvalidator™, care ne ajută să facem validările între un set de date martor (fișier XLS, sau CSV, sau QVD, sau tabela SQL, etc.) și date citite și procesate de noi.
Validarea are loc sistematic și complet, în același mod, ori de câte ori apar modificări în logica de procesare a datelor, în baza unor setări de validare și a unor seturi de date martor de validare.
Putem adăuga oricând cerințe noi de validare, și monitorizăm astfel și dacă nu am stricat ceva din urmă, atunci când am adăugat procesări suplimentare
În mod implicit facem validări continue la fiecare împrospătare de date, (confirmând simultan că nu s-au modificat datele istorice anterioare și nici modul cum procesarea curenta le interpretează).
Am preluat practic conceptele din DevOps legate de Continuous Testing și le-am adus în spațiul Data Engineering / Data Integration / Business Intelligence.
QQvalidator™ vă permite să definiți un set de seturi de date de referință statice (sau dinamice), care să fie baza de verificate pentru datele încărcate în prezent din sursele de date în platforma de business intelligence, urmărind astfel dacă apar sau nu diferențe în timpul ultimei reîncărcări. Odată identificate diferențe, sistemul vă permite să săpați mai departe în detalii (care regulă nu a trecut, câte și care puncte de date au diferențe, cât de relevantă este diferența, când, în ce aplicație/ server/ mediu …).
Sunt posibile mai multe reguli de validare, utilizând, fiecare dintre ele, surse de date diferite pentru datele de referință și diferite tabele ce trebuie verificate, oferindu-se setări dedicate de filtrare, agregare și aliniere a datelor pentru fiecare regulă de validare. Măsuri multiple de validare pot fi definite simultan în cadrul aceleiași reguli, oferind simultan timpi de reîncărcare mai eficienți și încredere mai ridicată.
QQvalidator™ poate fi utilizat pentru testarea continuă (în medii agile), atât în Qlik Sense™ cât și în QlikView™.
Există cel puțin 5 avantaje din folosirea QQvalidator™:
- se scurtează timpul de validare (și implicit și bugetul de timp intern și cel de cost extern !);
- crește semnificativ volumul de date pe care se poate face validarea și numărul de puncte de validare;
- toate validările sunt realizate sistematic, în aceeași ordine și complet, de fiecare dată;
- există trasabilitatea completa a proceselor de validare și a rezultatelor obținute la fiecare instanță de revalidare;
- starea generală și detaliată de validare este consistent vizibilă la nivelul de top management, eliminând riscul folosirii unor analize eronate în luarea deciziilor.
Obiective QQvalidator™
- QQvalidator™ are ca scop monitorizarea a 2 seturi de date și validarea respectării unor reguli de conformitate între cele 2 seturi de date, la nivel individual sau agregat (de obicei validează un set de date curente, în raport cu un set folosit ca martor de validare).
- Acesta permite crearea de reguli diverse de validare, care să corespundă cu cerințele utilizatorilor de business și simultan cu cele ale echipei tehnice (business intelligence).
- Rezultatele oferite de QQvalidator™ prezintă diferențele înregistrate între datele conținute în cele 2 surse de date incluse în fiecare regulă de validare, după aplicarea regulilor de validare.
Prezentarea se face atât numeric (câte diferențe avem), cât și valoric (cât de mari sunt diferențele), atât în valori absolute cât și în valori relative la subtotalul local. - QQvalidator™ oferă nu doar procesarea, dar simultan și înțelegerea rapidă și intuitivă a regulilor de validare folosite în comparația celor 2 surse de date aferente fiecărei reguli de validare (inclusiv la nivelul interfeței finale de utilizare a utilizatorilor de business).
Cazuri de utilizare
- Refaceri multiple în ciclul de dezvoltare al aplicației Qlik™
- Protejați echipa de dezvoltatori BI (& utilizatorii de business) împotriva riscului de instabilitate a datelor
- Noua ediție a aplicației Qlik™ (cu ultimele date încărcate) poate fi comparată cu o versiune anterioară (acum la nivelul structurii de date, și în curând la nivelul interfeței)
- Scenariul Dev Ops BI necesită testare continuă
- Numărul mare de aplicații Qlik™ Apps are nevoie de o imagine de ansamblu rapidă a stării de validare (vezi QQvalidator.dashboard)
- Loc unic de monitorizare a validărilor pentru o gamă largă de aplicații și seturi de date Qlik™, chiar pentru un mediu Qlik™ distribuit, multi server și multi tenant și multi locație, inclusiv un mediu mixt QlikView™ și Qlik Sense™ … (totul extensibil și la validarea de date din medii non-Qlik™, la care ne putem conecta cu Qlik Sense™ sau QlikView™)
Beneficii de utilizare
- Pachetul de validare este rapid & ușor de implementat (în mai puțin de 5 minute)
- Configurați o nouă regulă de validare în mai puțin de 1 minut
- Validările sunt definite o singură dată & reutilizate continuu
- Reguli de validare ușor de reutilizat în medii similare
- Ușor de înțeles PASS/ FAIL
Un singur ”semafor roșu” mare în cazul a cel puțin unui eșec de validare - Formule de agregare eficiente pentru numărarea și evaluarea impactului erorilor
- Înțelegere cuprinzătoare pe mai multe niveluri a cauzelor eșecurilor de validare (inclusiv informații din trecut)
- Validare end-to-end (până la rezultatele din interfață!)
- Este posibilă validarea dinamică (analize de regresie)*
- Este inclusă validarea calității procesului de prelucrare a datelor (vechimea/ prospețimea datelor)*
- Validarea poate fi aplicată la orice nivel de procesare a datelor:
- date brute
- date în stări intermediare de procesare
- schemă finală
- interfață finală (inclusiv simultan la toate nivelurile în același mediu!)
Configurarea simplă de validare (în 3 pași)
- Definiți fiecare regulă + cele 2 seturi de date ce vor fi comparate
- Definiți filtrarea (dacă există), atât pentru:
- setul de date pe care vrem să îl validăm
- setul de date de referință
- Definiți coloanele celor 2 seturi (dimensiuni multiple și mai multe măsuri pot fi definite în cadrul aceleiași reguli de validare), anume:
- alinierea dimensiunilor (inclusiv schimbarea datelor)
- coloanele cu măsuri pe care se va face comparația (incluzând funcția de agregare și tipul de comparație)
Compontele QQvalidator
Elemente de interfață și aplicații
QQvalidator.dashboard™
versus
QQvalidator.details™
versus
QQvalidator.history™
versus
QQvalidator.detailsHistory™
- Pagina QQvalidator.dashboard™ este doar începutul, oferă o vizualizare de tip ”bird eye” (ochi de pasăre)
(pentru ultimul set de date reîncărcate) - Pagina QQvalidator.dashboard™ este prezentă în ambele aplicații:
- Aplicația QQvalidator™ 1
- Aplicația QQvalidator™ 2
(și poate fi integrată și în aplicația Qlik™ pe care o monitorizează)
- Aplicația QQvalidator™ 2 oferă, de asemenea:
- informații detaliate despre cele mai recente validări la nivel de punct de date de validare (pagina QQvalidator.details™)
- informații din istoricul validărilor executate anterior la nivel înalt (pagina QQvalidator.history™)
- informații detaliate din istoricul validărilor executate anterior la nivel înalt (pagina QQvalidator.detailsHistory™)
Tablou de bord QQvalidator™ in Qlik Sense™
Aplicațiile QQvalidator™
Aplicația QQvalidator™ 1
- Aplicația QQvalidator™ 1 conține scriptul principal pentru executarea procesului de validare conform regulilor de validare definite. Același proces salvează fișierele QQvalidator.QVD pentru explorare suplimentară în detalii și istoric sau în aplicația QQvalidator™ 3 (Super Dashboard).
- Aplicația QQvalidator™ 1 conține pagina QQvalidator.dashboard™, care oferă o vizualizare de tip ”bird eye” (ochi de pasăre) doar pentru ultima validare (pentru ultimul set de date reîncărcate).
- Conținutul aplicației QQvalidator™ 1 poate fi transferat în mai puțin de 1 minut într-o aplicație Qlik™ din viața reală pentru o integrare mai profundă a proceselor de validare cu principalele procese ETL.
QQvalidator.dashboard™ pentru confirmări rapide
Pagina Dashboard conține, în primul rând, un obiect de suprafață mare, care oferă verdictul final: validare cu sau fără succes ?
Pagina are Culoarea de fundal corelată cu aceeași convenție de culoare pentru alertare vizuală rapidă.
QlikView™ permite, în plus, și colorarea tab-ului paginii, astfel că starea generală de validare poate fi aflata chiar și fără inspectarea paginii de dashboard.
Imaginea generală a rezultatelor validării este ușor de înțeles, pe total, dar și pentru fiecare regulă de validare separat, fiind imediat disponibile:
- Numărul de reguli cu succes și fără succes la validare
- Starea de validare a fiecărei reguli
- Numărul de puncte de validare cu probleme la fiecare regulă și pe total
- Procentul de puncte cu probleme pe fiecare regulă și pe total
- Procentul de diferență în raport cu valoarea de referință
Meta Informații despre regulile de validare
Sunt furnizate într-o pagină adiacentă și meta informații suplimentare despre regulile de validare, pentru a permite înțelegere a contextului de validare al fiecărei reguli.
QQvalidator™ 2
Prima pagină a aplicației QQvalidator™ 2 cuprinde dashboard-ul ce oferă o reprezentare vizuală a validărilor efectuate, în timp ce următoarele se împart între QQvalidator.details™, QQvalidator.history™, QQvalidator.detailsHistory™, ce cuprind o analiză mai amănunțită a rezultatelor pe care le vizualizăm în pagina de QQvalidator.dashboard™, cât și a istoricului aferent acestora.
Aceste analize sunt recomandate mai ales în cazul regulilor care au înregistrat erori.
QQvalidator.Details™
În cadrul acestei pagini, putem observa în detaliu fiecare regulă care a fost supusă procesului de validare.
Totuși, accentul este pus pe regulile al căror proces de validare s-a concluzionat cu un eșec, deoarece avem posibilitatea de a analiza fiecare regulă la nivel de dimensiune și măsură, pentru a observa câmpurile în cadrul cărora se înregistrează diferențe între datele provenite din tabelele martor și tabelele de fapte reale.
În cadrul paginii Validation Script by Rule observăm script-ul final asociat fiecărei reguli.
QQvalidator.History™
În paginile următoare, deja analizăm rezultatele, raportându-ne la istoricul validărilor.
Sunt analizate evoluții ale diferențelor valorice și cantitative, al numărului de produse eronate, al valorilor medii în fiecare zi sau, mai detaliat, la nivel de timestamp pentru fiecare regulă în parte, având posibilitatea de a analiza aceste valori și la momentul ultimei rulări din ziua respectivă.
De asemenea, putem extinde analiza și la nivelul fiecărei dimensiuni din cadrul tabelelor.
În cadrul paginii Evoluție Diferențe Valorice și Cantitative avem un container ce cuprinde grafice referitoare la diferențele valorice și al numărului de produse eronate la nivel de id și denumire regulă, în fiecare zi sau în momentul fiecărei rulări.
La nivelul paginii Evoluții pe Dată și Timestamp regăsim diferențele valorice medii și numărul mediu de produse eronate, la nivel de dată, timestamp, dar și la momentul ultimei rulări din ziua respectivă.
QQvalidator.Details.History™
În cadrul paginilor următoare, Evoluția Diferențelor Valorice și Cantitative pe Fiecare Dimensiune și Valori Medii pe Dimensiuni, analizele efectuate sunt aceleași, adică evoluții ale diferențelor înregistrate din punct de vedere valoric și cantitativ, cât și mediile acestora, doar că acum nu mai este la nivel de regulă, respectiv id regulă, ci este la nivel de dimensiune, diferențele înregistrate fiind înregistrate, de exemplu, pentru fiecare produs, subunitate, gestiune, etc.
De exemplu, aici avem evoluția valorică a diferențelor pentru diferite coduri de obiect, respectiv gestiuni.
De asemenea, pentru a putea vizualiza cu ușurință valorile obținute, am realizat câte un tabel pentru fiecare pagină, pe baza formulelor pe care le-am utilizat în cadrul graficelor.
QQvalidator™ 3
Aplicația QQvalidator™ 3 vine cu o capabilitate de integrare și mai mare, unificând monitorizarea simultană a mai multor aplicații, site-uri, beneficiari, etc.
Principalele componente de interfață sunt:
- Spațiul de Configurare (O listă de foldere care trebuie scanate de LogsValidator*.QVD + meta dimensiunile suplimentare ale lui QQvalidator 3)
- Script
- Încărcarea în buclă a fișierelor QVD generate de procesele de validare individuale ale mai multor aplicații Qlik Sense™ sau QlikView™
- Interfață
- Pagina Dashboard curent
- Pagina Detalii curente*
- Pagina Istorice*
- Pagina Detalii Istorice*
* în funcție de volumul de date și resursele hardware disponibile, se poate alege activarea sau nu a acestor componente ce devin relevante doar în anumite contexte
Concluzii
QQvalidator™ aduce plusvaloare extremă printr-o abordare de tip continuous testing specifică Dev Ops, în multiple scenarii de utilizare, oferind simultan:
- utilizatorilor de business ai analizelor Qlik™
- siguranță în consistența procesărilor prin validare continuă
- inclusiv transparență în metodologia și statusul de validare
- echipelor de business intelligence (internalizate sau externalizate)
- o soluție ușor de instalat și întreținut a validării procesărilor Qlik™ (și nu numai)
- aplicabilă în scenarii variate
- monitorizare rapidă și scalabilă
- utilizatorilor de business ai analizelor Qlik™
Pentru alte soluții QQinfo, puteți accesa pagina: QQsolutions.
Dacă sunteți interesat de produsul QQvalidator, vă rugăm completați acest formular.
Pentru informații despre Qlik™, vă rugăm accesați acest site: qlik.com
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, vă recomandăm QQblog-ul !