Livres blancs Webinars

Les utilisateurs de la Data ont besoin de données fiables, et pour les satisfaire nous pouvons être amenés à créer des requêtes SQL tous azimuts. On prend alors le risque de ne pas versionner, de mal coopérer, de faire ramer le serveur… Des solutions existent pour centraliser nos tests et les industrialiser. Ce tutoriel va vous aider à structurer vos différents tests et à simplifier leur exécution.

BigQuery et Data quality testing : comment centraliser vos tests et les industrialiser

Plateforme bien connue des acteurs de la data, BigQuery est un datawarehouse puissant et rapide, étroitement lié aux services de la Google Cloud Platform (GCP).

Pourquoi surveiller la qualité des données ?

Les études Gartner le prouvent régulièrement : de trop nombreuses entreprises se focalisent sur le stockage de leurs données et aux algorithmes qui les exploiteront, et hésitent encore à véritablement investir dans le contrôle de la qualité de ces données. Or, lorsque l’on s’aperçoit que la qualité des données n’est pas au rendez-vous il est souvent déjà très tard.

D’une part parce que des décisions basées sur ces données erronées ont déjà été prises. D’autre part, parce que l’utilisateur perd confiance en la donnée. Prévenir les erreurs est toujours plus facile que de gérer leurs conséquences. Il est donc d’autant plus essentiel de se poser la question de la fiabilité des données dès les prémices d’un projet.

Petits volumes : lister les anomalies

Quand le volume de données le permet on peut sortir toutes les anomalies catégorisées (unicité, complétude, conformité, intégrité, cohérence, justesse). Exemple :

BigQuery - Petits volumes : lister les anomalies

Une astuce pour les dates manquantes

Vous voulez mettre en évidence que des données sont manquantes pour certains jours ? Générez votre intervalle de dates :

BigQuery - Une astuce pour les dates manquantes

Unicité – vérifier les doublons

Dans ce scénario nous voulons vérifier que le numéro de facture est unique.

Complétude – vérifier les adresses

Dans ce scénario nous voulons vérifier que les adresses des entrepôts sont complètes.

BigQuery - Complétude : vérifier les adresses

Conformité – vérifier le format des adresses mail

Dans ce scénario nous voulons vérifier que le format des adresses mail des clients est valide.

BigQuery - Conformité : vérifier le format des adresses mail

Intégrité : vérifier l’intégrité des factures

Dans ce scénario nous voulons vérifier que toutes les lignes de facture font référence à une facture valide.

BigQuery - Intégrité : vérifier l'intégrité des factures

Cohérence – vérifier les codes pays

Dans ce scénario nous voulons vérifier que les codes pays des fiches clients sont cohérentes avec la table des pays.

BigQuery - Cohérence : vérifier les codes pays

Justesse – vérifier les dates

Dans ce scénario nous voulons vérifier que les dates de factures sont justes.

BigQuery - Justesse : vérifier les dates

Vous l’aurez compris, le but est de commencer à structurer nos tests pour présenter rapidement un résultat synthétique. On ne s’encombre pas de résultats intermédiaires, seul compte ici le résultat du test. Chaque anomalie sera ensuite consignée, remontée, analysée et corrigée.

Réunissons nos tests

Nous avons défini nos différents cas (nombre de statuts, montant total = somme des lignes, etc.). Réunissons maintenant nos tests avec UNION ALL pour ne produire qu’un résultat.

Ce résultat unique permettra de qualifier rapidement un flux, une correction, voire un environnement.

BigQuery - Réunir nos tests

Il n’est pas interdit de commenter ses queries. 😉

Industrialisation : la procédure stockée

Une procédure stockée est un ensemble de scripts SQL qui sont fréquemment utilisés. Nous allons mettre nos tests, qui ne sont que des requêtes, dans un fichier, puis exécuter ce script. Le but est ainsi de partager (ou de transmettre) une version finalisée de nos tests.

Attention, veillez à ne pas oublier les éventuelles clauses WITH, définitions de vues et fonctions.

BigQuery - Industrialisation : la procédure stockée

Aller plus loin : BigQuery dans Google Sheets

Quand un test échoue, on cherche à comprendre et expliquer ce qui « cloche ». Dans ce cas, Google Sheets peut vous faire gagner du temps. Voici comment.

Dans une Google Sheet : utiliser le connecteur BigQuery et choisir une table.

Aller plus loin : BigQuery dans Google Sheets
Aller plus loin : BigQuery dans Google Sheets

On peut aussi saisir une requête SQL.

BigQuery dans Google Sheets - Saisir une requête SQL

Nous avons ainsi vu dans cet article comment centraliser nos tests et comment les industrialiser. Cela peut demander un effort quand on s’est déjà éparpillé. En revanche, à terme, le gain de temps et d’énergie est considérable.

Data Stewart Business & Decision

Depuis peu dans la Data, mais depuis plus de 30 ans dans la modélisation et le traitement de données. Je connais l’importance que revêt leur qualité. L’expérience me prouve qu’il faut toujours se demander pourquoi avant de se demander comment.

En savoir plus >

Votre adresse e-mail ne sera pas publiée.

Votre adresse de messagerie est uniquement utilisée par Business & Decision, responsable de traitement, aux fins de traitement de votre demande et d’envoi de toute communication de Business & Decision en relation avec votre demande uniquement. En savoir plus sur la gestion de vos données et vos droits.