activeLearn alJoin

Scénario Cas Limite : Réconciliation de données avec types d'ID différents et doublons

Scénario de test & Cas d'usage

Contexte Métier

Un data scientist doit auditer la qualité des données de ventes et de retours. La table des ventes utilise un ID produit numérique, tandis que celle des retours utilise un ID produit caractère. De plus, des doublons d'ID existent dans les retours et certains retours concernent des produits non listés dans les ventes. L'objectif est d'obtenir une vue complète de toutes les transactions pour identifier les anomalies.
À propos du Set : activeLearn

Apprentissage actif pour optimiser l'étiquetage des données.

Découvrir toutes les actions de activeLearn
Préparation des Données

Création d'une table de ventes avec ID numérique et d'une table de retours avec ID caractère, contenant des doublons et des ID inexistants dans la table des ventes.

Copié !
1DATA mycas.ventes_produits;
2 INPUT id_produit montant;
3 DATALINES;
4101 150.00
5102 200.50
6103 75.25
7;
8RUN;
9 
10DATA mycas.retours_produits;
11 INPUT id_produit $ motif $;
12 DATALINES;
13102 Qualite
14102 Qualite
15104 Inconnu
16105 ErreurCommande
17;
18RUN;

Étapes de réalisation

1
Jointure complète (FULL) pour fusionner les deux tables malgré les types d'ID différents. Utilisation de logLevel=2 pour tracer l'exécution en détail.
Copié !
1PROC CAS;
2 ACTION activeLearn.alJoin /
3 TABLE={name='ventes_produits'}
4 annotatedTable={name='retours_produits'}
5 id='id_produit'
6 joinType='FULL'
7 logLevel=2
8 casOut={name='audit_complet_full', replace=true};
9RUN;
10QUIT;
2
Jointure à droite (RIGHT) pour isoler spécifiquement les retours qui n'ont pas de vente correspondante dans la table principale, afin de les investiguer.
Copié !
1PROC CAS;
2 ACTION activeLearn.alJoin /
3 TABLE={name='ventes_produits'}
4 annotatedTable={name='retours_produits'}
5 id='id_produit'
6 joinType='RIGHT'
7 casOut={name='retours_sans_vente', replace=true};
8RUN;
9QUIT;

Résultat Attendu


L'étape 1 doit s'exécuter sans erreur, prouvant que l'action gère la conversion de type sur la clé de jointure. La table `audit_complet_full` contiendra les lignes pour les ID 101, 102 (dupliquée), 103, 104, et 105. Le log SAS affichera des messages détaillés grâce à `logLevel=2`. L'étape 2 créera la table `retours_sans_vente` contenant 4 lignes (ID 102 deux fois, 104, 105), avec des valeurs manquantes pour la variable `montant`.