Veröffentlicht am :
ETL CREATION_INTERNE

Erstellung einer Gruppierungstabelle

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Beispiel zeigt, wie eine Gruppierungstabelle (group-by table) mithilfe von CAS-Aktionen (Cloud Analytic Services) auf der SAS© Viya-Plattform erstellt wird. Die Eingabetabelle CreditQualify wird nach den Variablen State (Bundesstaat) und State_FIPS (FIPS-Code des Bundesstaats) gruppiert. Die Variable Credit_Score wird als Gewichtungsvariable verwendet, um den Mittelwert (MEAN) der Kredit-Scores pro Gruppe zu berechnen. Die Zwischen- und Endergebnisse werden mithilfe von CAS-Aktionen wie simple.groupBy, table.alterTable, table.fetch und table.save verwaltet. Nach der Gruppierung wird die Ausgabetabelle ScorePerState um eine formatierte _Score_-Spalte erweitert und im .sashdat-Format zur einfachen Wiederverwendung gespeichert. Die Überprüfung des Schweregradcodes (s.severity = 0) stellt sicher, dass die Operationen nur bei Erfolg der vorherigen Aktion ausgeführt werden.
Datenanalyse

Type : CREATION_INTERNE


Die Beispieltabelle CreditQualify wird mithilfe eines DATA-Schritts mit Datalines erstellt, um die Autonomie des Beispiels zu gewährleisten. Die Daten sind fiktiv und umfassen die Variablen State (Zeichenkette), State_FIPS (numerisch) und Credit_Score (numerisch).

1 Codeblock
PROC CAS / DATA STEP Data
Erklärung :
Der anfängliche DATA-Schritt erstellt eine temporäre Tabelle namens 'CreditQualify' mit Beispieldaten für die Variablen 'State' (Bundesstaat), 'State_FIPS' (FIPS-Code des Bundesstaats) und 'Credit_Score' (Kredit-Score). Die PROC CAS-Anweisung aktiviert die SAS Cloud Analytic Services (CAS)-Sitzung. Die Aktion simple.groupBy wird dann verwendet, um Gruppen basierend auf den Variablen 'State' und 'State_FIPS' zu bilden. 'Credit_Score' wird als Gewichtungsvariable definiert und der Aggregator wird auf 'MEAN' gesetzt, um den Mittelwert der Kredit-Scores pro Gruppe zu berechnen. Die Optionen 'scoregt' und 'scorelt' definieren die untere und obere Grenze der einzuschließenden Scores. Das Ergebnis dieser Aktion ist eine Ausgabetabelle namens 'ScorePerState' in der aktiven Caslib. Eine Überprüfung des Schweregradcodes (s.severity = 0) stellt sicher, dass die nachfolgenden Aktionen nur bei Erfolg ausgeführt werden. Wenn die groupBy-Aktion erfolgreich ist, wird die Aktion table.alterTable verwendet, um die Spalte '_Score_' zu ändern, indem ihr das Label 'Credit Score' und das Format '5.2' zugewiesen werden. Anschließend ruft die Aktion table.fetch die Variablen 'State', 'State_FIPS' und '_Score_' aus der Tabelle 'ScorePerState ab und wendet das angegebene Format für '_Score_' an. Schließlich speichert die Aktion table.save die Tabelle 'ScorePerState' im .sashdat-Format in der aktiven Caslib.
Kopiert!
1DATA work.CreditQualify;
2 INPUT State $ State_FIPS Credit_Score;
3 DATALINES;
4NC 37 700
5NC 37 750
6NY 36 600
7NY 36 620
8CA 06 800
9CA 06 820
10;
11RUN;
12 
13PROC CAS;
14 SESSION mysession;
15 SIMPLE.groupBy RESULT=r STATUS=s /
16 inputs={"State", "State_FIPS"},
17 weight="Credit_Score",
18 aggregator="MEAN",
19 scoregt=0,
20 scorelt=900,
21 TABLE={name="CreditQualify"},
22 casout={name="ScorePerState",
23 replace=true};
24RUN;
25 IF (s.severity = 0) THEN DO;
26 TABLE.alterTable / columns={
27 {label="Credit Score", FORMAT="5.2", name="_Score_"}},
28 name="ScorePerState";
29 TABLE.fetch /
30 FORMAT=True,
31 fetchVars={"State", "State_FIPS",
32 {name="_Score_",FORMAT="5.2"}},
33 TABLE={name="ScorePerState"},
34 index=false;
35 
36 TABLE.save /
37 TABLE={name="ScorePerState"},
38 name="ScorePerState.sashdat",
39 replace=True;
40 END;
41RUN;
42QUIT;
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.