Publié le :
Qualité des données CREATION_INTERNE

PROC DATAMETRICS : Analyse avancée de la qualité des données

Ce code est également disponible en : Deutsch English Español
En attente de validation
La procédure DATAMETRICS est un outil puissant pour l'évaluation de la qualité des données. Cette analyse fonctionnelle détaillée présente comment configurer la procédure avec une gamme complète de paramètres. Elle couvre l'extraction de métriques statistiques comme la médiane, la détermination des valeurs les plus fréquentes (frequencies), l'identification des valeurs extrêmes (minmax) et l'utilisation de formats de données pour une analyse plus pertinente. Une attention particulière est portée à l'intégration de la Quality Knowledge Base (QKB) pour des analyses d'identité avancées, ainsi qu'à l'optimisation des performances via le paramètre 'threads'. Le dernier exemple montre une exécution de la procédure sur une table chargée en mémoire dans l'environnement CAS de SAS© Viya.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées en interne via des DATA steps avec DATALINES, garantissant leur autonomie et reproductibilité.

1 Bloc de code
DATA / PROC DATAMETRICS Data
Explication :
Cet exemple initialise un jeu de données 'my_data' avec des informations factices (nom, adresse, ville, état). Ensuite, la procédure PROC DATAMETRICS est exécutée avec les paramètres minimaux requis pour calculer des métriques de qualité des données pour les variables 'name' et 'address'. Les résultats sont stockés dans la table 'basic_metrics'.
Copié !
1DATA work.my_data;
2 LENGTH name $30 address $50 city $20 state $2;
3 INPUT name $ address $ city $ state $;
4 DATALINES;
5"John Doe" "123 Main St" "Anytown" "NY"
6"Jane Smith" "456 Oak Ave" "Anycity" "CA"
7"John Doe" "123 Main St" "Anytown" "NY"
8"Peter Jones" "789 Pine Ln" "Otherville" "TX"
9"Alice Brown" "101 Maple Dr" "Anytown" "NY"
10"Bob White" "202 Elm St" "Otherville" "TX"
11"Charlie Green" "303 Cedar Rd" "Anycity" "CA"
12"David Black" "404 Birch Ct" "Anytown" "NY"
13;
14RUN;
15 
16PROC DATAMETRICS DATA=work.my_data out=work.basic_metrics;
17 variables name address;
18 RUN;
19 
20PROC PRINT DATA=work.basic_metrics;
21 title "Métriques Basiques pour Nom et Adresse";
22RUN;
2 Bloc de code
PROC DATAMETRICS
Explication :
Basé sur les données de l'exemple précédent, cet exemple utilise des options courantes : 'frequencies=10' pour les 10 valeurs les plus fréquentes, 'minmax=5' pour 5 valeurs minimales et maximales, et 'median' pour calculer la médiane. L'instruction 'identities' est utilisée pour intégrer une Quality Knowledge Base (QKB) spécifique à la localisation 'ENUSA' et à la définition 'Field Content' afin d'enrichir l'analyse d'identification.
Copié !
1/* Assurez-vous que work.my_data est déjà créé à partir de l'Exemple 1 */
2 
3PROC DATAMETRICS DATA=work.my_data out=work.common_metrics frequencies=10
4 minmax=5 median;
5 identities qkb='/sas/dqc/QKBLoc' locale='ENUSA' def='Field Content';
6 variables name address city;
7 RUN;
8 
9PROC PRINT DATA=work.common_metrics;
10 title "Métriques avec Fréquences, Min/Max, Médiane et QKB";
11RUN;
3 Bloc de code
PROC FORMAT / DATA / PROC DATAMETRICS
Explication :
Cet exemple introduit un format personnalisé pour la variable 'state', puis applique ce format à un nouveau jeu de données 'formatted_data'. PROC DATAMETRICS est ensuite exécuté sur cette table formatée. Les options 'frequencies', 'minmax' et 'threads=4' sont utilisées pour un traitement en parallèle. L'option 'multiidentity' dans l'instruction 'identities' permet d'analyser plusieurs identités de qualité des données pour les variables spécifiées.
Copié !
1/* Assurez-vous que work.my_data est déjà créé à partir de l'Exemple 1 */
2 
3PROC FORMAT;
4 value $statefmt
5 'NY'='New York'
6 'CA'='California'
7 'TX'='Texas'
8 other='Autre';
9RUN;
10 
11DATA work.formatted_data;
12 SET work.my_data;
13 FORMAT state $statefmt.;
14RUN;
15 
16PROC DATAMETRICS DATA=work.formatted_data out=work.advanced_metrics
17 frequencies=20 minmax=10 threads=4 FORMAT;
18 identities qkb='/sas/dqc/QKBLoc' locale='ENUSA'
19 def='Field Content' multiidentity;
20 variables name address city state;
21 RUN;
22 
23PROC PRINT DATA=work.advanced_metrics;
24 title "Métriques Avancées avec Formats, Threads et Multi-identités";
25RUN;
4 Bloc de code
CASLIB / PROC CASUTIL / PROC DATAMETRICS
Explication :
Cet exemple démontre l'intégration avec l'environnement Cloud Analytic Services (CAS) de SAS Viya. Le jeu de données 'my_data' est d'abord chargé dans une bibliothèque CAS ('casuser.my_cas_data') à l'aide de PROC CASUTIL. Ensuite, PROC DATAMETRICS est exécuté directement sur la table CAS en mémoire. Des options telles que 'frequencies', 'minmax' et 'threads' sont appliquées pour optimiser l'analyse des métriques dans un environnement distribué. Les résultats sont également stockés dans une table CAS.
Copié !
1/* Assurez-vous que work.my_data est déjà créé à partir de l'Exemple 1 */
2 
3caslib _all_ assign;
4 
5PROC CASUTIL;
6 load DATA=work.my_data outcaslib='casuser' casout='my_cas_data' replace;
7RUN;
8 
9PROC DATAMETRICS DATA=casuser.my_cas_data out=casuser.cas_metrics
10 frequencies=5 minmax=3 threads=2;
11 identities qkb='/sas/dqc/QKBLoc' locale='ENUSA' def='Field Content';
12 variables name address city;
13 RUN;
14 
15PROC PRINT DATA=casuser.cas_metrics;
16 title "Métriques via DATAMETRICS sur CAS";
17RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.