Qualité des données en stockage

La qualité des données dans le référentiel est une condition préalable importante pour obtenir des informations précieuses. Une mauvaise qualité entraîne une réaction en chaîne négative à long terme.
Premièrement, la confiance dans les informations fournies est perdue. Les gens commencent à moins utiliser les applications de Business Intelligence, le potentiel des applications reste non réclamé.
En conséquence, de nouveaux investissements dans le projet analytique sont remis en question.

Responsabilité de la qualité des données


L'aspect associé à l'amélioration de la qualité des données est très important dans les projets BI. Cependant, ce n'est pas le privilège des seuls spécialistes techniques.
La qualité des données est également influencée par des aspects tels que

Culture d'entreprise

  • Les travailleurs sont-ils eux-mêmes intéressés à produire de bonne qualité?
  • Sinon, pourquoi? Il peut y avoir un conflit d'intérêts.
  • Peut-être existe-t-il des règles d'entreprise qui définissent les responsables de la qualité?

Les processus

  • Quelles données sont créées au bout de ces chaînes?
  • Peut-être que les systèmes d'exploitation sont configurés de sorte que vous devez "sortir" pour refléter telle ou telle situation dans la réalité.
  • Les systèmes d'exploitation effectuent-ils eux-mêmes la validation et la vérification des données?

Tout le monde dans l'organisation est responsable de la qualité des données dans les systèmes de reporting.

Définition et signification


La qualité est une satisfaction confirmée des attentes des clients.

Mais la qualité des données ne contient pas de définition. Il reflète toujours le contexte d'utilisation. L'entrepôt de données et le système de BI remplissent des fonctions différentes de celles du système d'exploitation, d'où les données sont extraites.

Par exemple, sur un système d'exploitation, un attribut client peut ne pas être un champ obligatoire. Dans le référentiel, cet attribut peut être utilisé comme une dimension et son remplissage est obligatoire. Ce qui, à son tour, introduit la nécessité de remplir avec des valeurs par défaut.

Les exigences de l'entrepôt de données changent constamment et sont généralement plus élevées que les systèmes d'exploitation. Mais cela peut être l'inverse, lorsqu'il n'est pas nécessaire de stocker des informations détaillées du système d'exploitation dans le stockage.

Pour rendre la qualité des données mesurable, ses normes doivent être décrites. Les personnes qui utilisent des informations et des numéros pour leur travail devraient être impliquées dans le processus de description. Le résultat de cette implication peut être une règle, après laquelle, d'un coup d'œil, vous pouvez dire s'il y a une erreur ou non. Cette règle doit être émise sous la forme d'un script / code pour une vérification ultérieure.

Amélioration de la qualité des données


Il est impossible de nettoyer et de corriger toutes les erreurs hypothétiques lors du chargement des données dans le référentiel. Une bonne qualité des données ne peut être obtenue que grâce au travail étroit de tous les participants. Les personnes qui saisissent des données dans les systèmes d'exploitation doivent savoir quelles actions entraînent des erreurs.

La qualité des données est un processus. Malheureusement, dans de nombreuses organisations, il n'y a pas de stratégie d'amélioration continue. Beaucoup se limitent uniquement à la sauvegarde des données et n'utilisent pas tout le potentiel des systèmes analytiques. En règle générale, lors du développement d'entrepôts de données, 70 à 80% du budget est consacré à l'intégration des données. Le processus de contrôle et d'amélioration reste inachevé, voire pas du tout.

Les outils


L'utilisation d'outils logiciels peut aider au processus d'automatisation de l'amélioration et du suivi de la qualité des données. Par exemple, ils peuvent automatiser complètement la vérification technique des structures de stockage: format de champ, valeurs par défaut, conformité aux exigences des noms de champ de table.

Il peut être plus difficile de vérifier le contenu. À mesure que les exigences de stockage changent, l'interprétation des données peut changer. L'outil lui-même peut se transformer en un énorme projet qui nécessite un soutien.

Astuce


Les bases de données relationnelles, dans lesquelles les référentiels sont généralement conçus, ont une excellente occasion de créer des vues (vues). Ils peuvent être utilisés pour vérifier rapidement les données si vous connaissez les fonctionnalités du contenu. Chaque cas de détection d'erreurs ou de problèmes dans les données peut être enregistré sous la forme d'une requête à la base de données.

Ainsi, une base de connaissances sur le contenu sera formée. Bien sûr, ces demandes doivent être rapides. En règle générale, la maintenance des vues prend moins de temps humain que les outils organisés sur des tables. La vue est toujours prête à afficher le résultat du contrôle.
Dans le cas de rapports importants, la vue peut contenir une colonne avec le destinataire. Il est logique d'utiliser les mêmes outils de BI pour rendre compte de l'état de la qualité des données dans le référentiel.

Exemple


La demande est écrite pour la base de données Oracle. Dans cet exemple, les tests renvoient une valeur numérique qui peut être interprétée selon les besoins. Les valeurs T_MIN et T_MAX peuvent être utilisées pour ajuster le degré d'alarme. Le champ REPORT était autrefois utilisé comme message dans un produit commercial ETL qui ne savait pas comment envoyer correctement des e-mails, donc rpad est une «béquille».

Dans le cas d'une grande table, vous pouvez ajouter, par exemple, AND ROWNUM <= 10, c'est-à-dire s'il y a 10 erreurs, cela suffit pour l'alarme.

CREATE OR REPLACE VIEW V_QC_DIM_PRODUCT_01 AS SELECT CASE WHEN OUTPUT>=T_MIN AND OUTPUT<=T_MAX THEN 'OK' ELSE 'ERROR' END AS RESULT, DESCRIPTION, TABLE_NAME, OUTPUT, T_MIN, T_MAX, rpad(DESCRIPTION,60,' ') || rpad(OUTPUT,8,' ') || rpad(T_MIN,8,' ') || rpad(T_MAX,8,' ') AS REPORT FROM (-- Test itself SELECT 'DIM_PRODUCT' AS TABLE_NAME, 'Count of blanks' AS DESCRIPTION, COUNT(*) AS OUTPUT, 0 AS T_MIN, 10 AS T_MAX FROM DIM_PRODUCT WHERE DIM_PRODUCT_ID != -1 -- not default value AND ATTRIBUTE IS NULL ); -- count blanks 

La publication a utilisé des matériaux de livre
Ronald Bachmann, Dr Guido kemper
Raus aus der BI-Falle
Wie Business Intelligence zum Erfolg wird

Source: https://habr.com/ru/post/fr459682/


All Articles