activeLearn alJoin

Standardfall: Anreicherung von Kundendaten mit manuellen Segmentierungs-Tags

Scénario de test & Cas d'usage

Geschäftskontext

Ein Marketing-Team verfügt über eine große Tabelle mit Kundentransaktionen. Eine kleinere Gruppe von Datenverwaltern hat eine Teilmenge dieser Kunden manuell mit einem 'HighValue'- oder 'ChurnRisk'-Tag in einer separaten Tabelle versehen. Ziel ist es, diese Tags mit der Hauptkundentabelle zu verbinden, um eine Modellierungsübung vorzubereiten. Dies ist ein klassischer Anwendungsfall für einen LEFT JOIN, da wir alle Kunden behalten möchten, auch diejenigen ohne Tag.
Über das Set : activeLearn

Aktives Lernen zur Optimierung der Datenkennzeichnung.

Entdecken Sie alle Aktionen von activeLearn
Datenaufbereitung

Erstellt eine Hauptkundentabelle (KUNDENDATEN) und eine kleinere Annotationstabelle (KUNDEN_TAGS) mit einer Teilmenge von Kunden-IDs.

Kopiert!
1DATA casuser.KUNDENDATEN;
2 DO KundenID = 1 to 100;
3 LetzterKaufBetrag = 50 + round(rand('UNIFORM')*500, .01);
4 KaufFrequenz = 1 + floor(rand('UNIFORM')*10);
5 OUTPUT;
6 END;
7RUN;
8 
9DATA casuser.KUNDEN_TAGS;
10 LENGTH SegmentTag $10;
11 INPUT KundenID SegmentTag $;
12 CARDS;
135 HighValue
1412 ChurnRisk
1525 HighValue
1650 HighValue
1788 ChurnRisk
18;
19RUN;

Étapes de réalisation

1
Ausführen eines LEFT JOIN, um alle Kunden beizubehalten und die Segment-Tags hinzuzufügen.
Kopiert!
1PROC CAS;
2 activeLearn.alJoin /
3 TABLE={name='KUNDENDATEN', caslib='casuser'},
4 annotatedTable={name='KUNDEN_TAGS', caslib='casuser'},
5 id='KundenID',
6 joinType='LEFT',
7 casOut={name='KUNDEN_SEGMENTIERT', caslib='casuser', replace=true};
8RUN;
9QUIT;
2
Überprüfung der Ergebnisse: Zählen der Gesamtzahl der Zeilen und der Anzahl der nicht leeren Tags.
Kopiert!
1PROC CAS;
2 TABLE.fetch /
3 TABLE={name='KUNDEN_SEGMENTIERT'}
4 , to=10;
5RUN;
6 SIMPLE.summary /
7 TABLE={name='KUNDEN_SEGMENTIERT'}
8 , inputs={{name='LetzterKaufBetrag'}, {name='KaufFrequenz'}}
9 , casout={name='summary_check', replace=true};
10RUN;
11QUIT;

Erwartetes Ergebnis


Die Ausgabetabelle 'KUNDEN_SEGMENTIERT' enthält genau 100 Zeilen, entsprechend der ursprünglichen Kundentabelle. Die Spalte 'SegmentTag' ist für die 5 in der Tabelle 'KUNDEN_TAGS' angegebenen Kunden-IDs ausgefüllt. Für die restlichen 95 Kunden ist der Wert in 'SegmentTag' fehlend (null). Dies bestätigt das korrekte Verhalten des LEFT JOIN.