ETL CAS

Variablen erstellen und Daten filtern mit DATA Step

Dieser Code ist auch verfügbar auf: English Español
Schwierigkeitsgrad
Anfänger
Veröffentlicht am :
Dieses Beispiel veranschaulicht, wie Daten auf einem CAS-Server mithilfe eines DATA-Schritts manipuliert und angereichert werden. Es behandelt die Erstellung neuer Variablen basierend auf Bedingungen (Altersgruppen und FICO-Werte) und die Zuweisung von Kreditqualifikationen, wodurch ein anfängliches Dataset 'creditscores' in ein neues Dataset 'creditqualify' mit abgeleiteten Attributen umgewandelt wird. Der Prozess endet mit der Visualisierung des Ergebnisses mithilfe der CAS-Aktion 'table.fetch'.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) für die Tabelle 'creditscores', die anschließend verarbeitet wird, um die Tabelle 'CreditQualify' zu erstellen.

1 Codeblock
DATA STEP Data
Erklärung :
Der erste DATA-Schritt erstellt ein Beispiel-Dataset 'creditscores' auf dem CAS-Server mit den Variablen 'Age' und 'Credit_Score'. Der zweite DATA-Schritt beginnt mit der DATA-Anweisung, die einen neuen DATA-Schritt initialisiert und eine CAS-Tabelle namens 'CreditQualify' in der Bibliothek 'Mycaslib' der CAS-Sitzung 'MYSESSION' erstellt. Die SET-Anweisung liest die Beobachtungen aus der Tabelle 'creditscores'. Die LENGTH-Anweisung definiert die neuen Zeichenvariablen 'Age_Range', 'FICO_Rating' und 'Credit_Qualification' mit angegebenen Längen. Die IF-THEN/ELSE-Anweisung weist 'Age_Range' basierend auf dem Alter Werte zu. Ähnliche IF-THEN/ELSE-Blöcke werden verwendet, um FICO-Bewertungen ('FICO_Rating') und Kreditqualifikationen ('Credit_Qualification') basierend auf dem 'Credit_Score' zuzuweisen.
Kopiert!
1DATA mycaslib.creditscores / sessref=mysession;
2 INFILE DATALINES;
3 INPUT Age Credit_Score;
4 DATALINES;
520 500
630 600
740 700
850 780
960 810
1070 400
1119 550
1233 690
1348 710
1462 820
15;
16RUN;
17 
18DATA mycaslib.creditqualify / sessref=mysession;
19 SET mycaslib.creditscores;
20 LENGTH Age_Range $8;
21 IF Age in (18, 19, 20, 21, 22, 23, 24, 25) THEN Age_Range="18-25";
22 ELSE IF Age in (26, 27, 28, 29, 30, 31, 32, 33, 34, 35) THEN Age_Range="26-35";
23 ELSE IF Age in (36, 37, 38, 39, 40, 41, 42, 43, 44, 45) THEN Age_Range="36-45";
24 ELSE IF Age in (46, 47, 48, 49, 50, 51, 52, 53, 54, 55) THEN Age_Range="46-55";
25 ELSE IF Age in (56, 57, 58, 59, 60, 61, 62, 63, 64) THEN Age_Range="56-64";
26 ELSE IF Age>=65 THEN Age_Range="65+";
27 LENGTH FICO_Rating $12;
28 IF 300<=Credit_Score<=570 THEN FICO_Rating="Very Poor";
29 ELSE IF 580<=Credit_Score<=669 THEN FICO_Rating="Fair";
30 ELSE IF 670<=Credit_Score<=739 THEN FICO_Rating="Good";
31 ELSE IF 740<=Credit_Score<=799 THEN FICO_Rating="Very Good";
32 ELSE IF Credit_Score>=800 THEN FICO_Rating="Exceptional";
33 LENGTH Credit_Qualification $12;
34 IF Credit_Score>=740 THEN Credit_Qualification="Platinum";
35 ELSE IF 650<=Credit_Score<=739 THEN Credit_Qualification="Gold";
36 ELSE IF 450<=Credit_Score<=649 THEN Credit_Qualification="Secured Card";
37 ELSE IF Credit_Score<=449 THEN Credit_Qualification="N/A";
38RUN;
2 Codeblock
PROC CAS
Erklärung :
Diese CAS-Prozedur verwendet die Aktion 'table.fetch', um einen Teil des Inhalts der neu erstellten Tabelle 'creditqualify' abzurufen und anzuzeigen, wodurch die Überprüfung der generierten Variablen und Werte ermöglicht wird.
Kopiert!
1PROC CAS;
2 TABLE.fetch/TABLE="creditqualify"
3 index=false;
4QUIT;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.

Zugehörige Dokumentation

Aucune documentation spécifique pour cette catégorie.