Publié le :
ETL CREATION_INTERNE

Analyse d'identification avec les fonctions Data Quality

En attente de validation
Le programme démontre une séquence d'appels aux fonctions de qualité de données SAS©. Il commence par charger les locales DQ, puis utilise `dqIdentifyInfoGet` pour obtenir la liste des identités supportées par la définition d'analyse 'Field Content'. Ensuite, il applique `dqIdentifyMulti` à une chaîne de caractères ('Samual Adams') pour réaliser une analyse d'identification multiple. Enfin, il utilise `dqIdentifyIdGet` pour extraire les scores individuels pour des identités spécifiques comme 'E-MAIL', 'INDIVIDUAL', et 'SOCIAL SECURITY NUMBER' à partir des résultats précédents. Les différentes sorties sont affichées dans le journal SAS© via des instructions PUT.
Analyse des données

Type : CREATION_INTERNE


Les données sont générées et traitées directement dans le script. La chaîne de caractères 'Samual Adams' est codée en dur pour l'analyse. Aucune lecture de source de données externe n'est effectuée.

1 Bloc de code
Macro
Explication :
Cette macro-procédure SAS charge en mémoire les définitions de locales (locales) nécessaires pour l'exécution des fonctions de qualité de données (Data Quality).
Copié !
1%dqload();
2 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée une table temporaire 'analysis'. Il exécute séquentiellement les fonctions d'identification : `dqIdentifyInfoGet` pour lister les types d'identités, `dqIdentifyMulti` pour analyser une chaîne de caractères et `dqIdentifyIdGet` pour extraire des scores de confiance pour des identités spécifiques. Les résultats de chaque étape sont imprimés dans le log SAS pour vérification.
Copié !
1DATA analysis;
2 LENGTH identities RESULT $ 300;
3 LENGTH email individ ssn 8;
4 
5 /* Run the dqIdentifyInfoGet function. The required argument specified is */
6 /* identification-analysis-definition. The optional argument specified is */
7 /* locale ('ENUSA'). */
8 identities = dqIdentifyInfoGet('Field Content','ENUSA');
9 put 'The identities for Field Content are: ' identities;
10 
11 
12 /* Run the dqIdentifyMulti function. The required arguments are character */
13 /* value ('Samual Adams') and identification-analysis-definition */
14 /* Field Content'). */
15 RESULT = dqIdentifyMulti('Samual Adams', 'Field Content');
16 put 'The result of the dqIdentifyMulti is: ' RESULT;
17 
18 /* Run the dqIdentifyIdGet function to return an individual score for an */
19 /* identity from a delimited string of identification analysis score. */
20 /* The required arguments are delimited-string (result), identity-name */
21 /* ('INDIVIDUAL') for example and identification-analysis-definition */
22 /* (Field Content'). The optional argument locale is not specified. The */
23 /* default locale is used. */
24 put 'The Identification Analysis identified the following identities:';
25 
26 email = dqIdentifyIdGet(RESULT, 'E-MAIL', 'Field Content');
27 put email=;
28 individ = dqIdentifyIdGet(RESULT, 'INDIVIDUAL', 'Field Content');
29 put individ=;
30 ssn = dqIdentifyIdGet(RESULT, 'SOCIAL SECURITY NUMBER', 'Field Content');
31 put ssn=;
32 RUN;
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.
Banner
Le Conseil de l'Expert
Expert
Simon
Expert SAS et fondateur.
« Le défi majeur du Data Management moderne est de comprendre la nature d'une donnée avant même de la traiter. Ce script illustre parfaitement la puissance de l'analyse d'identification de SAS Data Quality.

Contrairement à une simple recherche par expressions régulières (Regex), la fonction dqIdentifyMulti utilise la base de connaissances de la QKB (Quality Knowledge Base) pour évaluer la probabilité qu'une chaîne appartienne à une classe spécifique. L'utilisation de dqIdentifyIdGet pour extraire des scores de confiance permet de lever les ambiguïtés : par exemple, déterminer si 'Samual Adams' est plus probablement un individu ou une marque. C'est une étape cruciale pour automatiser le routage et le nettoyage des flux de données hétérogène »