Veröffentlicht am :
ETL INTERNE_ERSTELLUNG

Erstellung von Variablen und Datenfilterung mit dem DATA-Schritt

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Der DATA-Schritt ermöglicht den Aufbau einer neuen CAS-Tabelle namens CreditQualify aus einer bestehenden Tabelle, CreditScores. Kategoriale Variablen wie 'Age_Range', 'FICO_Rating' und 'Credit_Qualification' werden basierend auf den numerischen Werten der Variablen 'Age' und 'Credit_Score' erstellt. Die Klassifizierungen erfolgen mithilfe von IF-THEN/ELSE-Bedingungsblöcken. Der Code beinhaltet die Verwendung von CAS-Sitzungen ('sessref=mysession') und die Abfrage der resultierenden Tabelle über die 'table.fetch'-Aktion von PROC CAS.
Datenanalyse

Type : INTERNE_ERSTELLUNG


Das Beispiel basiert auf einer CAS-Tabelle 'mycaslib.creditscores'. Um das Beispiel eigenständig zu gestalten, simulieren wir diese Tabelle mit einem DATA-Schritt und Datalines.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser Codeblock erstellt zuerst eine Quelltabelle 'mycaslib.creditscores' mit Dummy-Daten für Alter und Kredit-Score. Anschließend wird der ursprüngliche DATA-Schritt ausgeführt. Dieser liest die Beobachtungen aus 'mycaslib.creditscores' und erstellt drei neue kategoriale Variablen: 'Age_Range' (Altersbereich), 'FICO_Rating' (FICO-Score-Bewertung) und 'Credit_Qualification' (Kreditqualifikation). Die Werte dieser Variablen werden bedingt basierend auf 'Age' und 'Credit_Score' mithilfe von IF-THEN/ELSE-Anweisungen zugewiesen. Die resultierende Tabelle 'mycaslib.creditqualify' wird auf dem CAS-Server gespeichert.
Kopiert!
1DATA mycaslib.creditscores;
2 INPUT Age Credit_Score;
3 DATALINES;
4 20 550
5 30 680
6 40 750
7 50 810
8 60 400
9 70 700
10 22 350
11 35 600
12 45 780
13 55 850
14 65 590
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 
28 LENGTH FICO_Rating $12;
29 IF 300<=Credit_Score<=570 THEN FICO_Rating="Very Poor";
30 ELSE IF 580<=Credit_Score<=669 THEN FICO_Rating="Fair";
31 ELSE IF 670<=Credit_Score<=739 THEN FICO_Rating="Good";
32 ELSE IF 740<=Credit_Score<=799 THEN FICO_Rating="Very Good";
33 ELSE IF Credit_Score>=800 THEN FICO_Rating="Exceptional";
34 
35 LENGTH Credit_Qualification $12;
36 IF Credit_Score>=740 THEN Credit_Qualification="Platinum";
37 ELSE IF 650<=Credit_Score<=739 THEN Credit_Qualification="Gold";
38 ELSE IF 450<=Credit_Score<=649 THEN Credit_Qualification="Secured Card";
39 ELSE IF Credit_Score<=449 THEN Credit_Qualification="N/A";
40RUN;
2 Codeblock
PROC CAS
Erklärung :
Dieser Codeblock verwendet die CAS-Prozedur, um die Aktion 'table.fetch' auszuführen. Diese Aktion ermöglicht es, die Beobachtungen der CAS-Tabelle 'creditqualify', die im vorherigen DATA-Schritt erstellt wurde, abzurufen und anzuzeigen.
Kopiert!
1 
2PROC CAS;
3TABLE.fetch / TABLE="creditqualify" index=false;
4QUIT;
5 
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.