Scénario de test & Cas d'usage
Aktives Lernen zur Optimierung der Datenkennzeichnung.
Entdecken Sie alle Aktionen von activeLearnErstellt eine Hauptkundentabelle (KUNDENDATEN) und eine kleinere Annotationstabelle (KUNDEN_TAGS) mit einer Teilmenge von Kunden-IDs.
| 1 | DATA 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; |
| 7 | RUN; |
| 8 | |
| 9 | DATA casuser.KUNDEN_TAGS; |
| 10 | LENGTH SegmentTag $10; |
| 11 | INPUT KundenID SegmentTag $; |
| 12 | CARDS; |
| 13 | 5 HighValue |
| 14 | 12 ChurnRisk |
| 15 | 25 HighValue |
| 16 | 50 HighValue |
| 17 | 88 ChurnRisk |
| 18 | ; |
| 19 | RUN; |
| 1 | PROC 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}; |
| 8 | RUN; |
| 9 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.fetch / |
| 3 | TABLE={name='KUNDEN_SEGMENTIERT'} |
| 4 | , to=10; |
| 5 | RUN; |
| 6 | SIMPLE.summary / |
| 7 | TABLE={name='KUNDEN_SEGMENTIERT'} |
| 8 | , inputs={{name='LetzterKaufBetrag'}, {name='KaufFrequenz'}} |
| 9 | , casout={name='summary_check', replace=true}; |
| 10 | RUN; |
| 11 | QUIT; |
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.