Veröffentlicht am :
Datenanalyse CREATION_INTERNE

Erstellung einer gruppierten Tabelle

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses SAS© Viya-Skript verwendet PROC CAS, um mit dem Cloud Analytic Services (CAS) zu interagieren. Die Aktion simple.groupBy wird auf die Tabelle 'creditqualify' angewendet, um Gruppen basierend auf 'State' und 'State_FIPS' zu erstellen. Die Variable 'Credit_Score' wird verwendet, um die Aggregationen zu gewichten, und der ausgewählte Aggregator ist 'MEAN', um den Durchschnitt zu berechnen. Filter 'scoregt' und 'scorelt' werden auf die Scores angewendet. Das Ergebnis dieser Operation wird in einer neuen CAS-Tabelle namens 'ScorePerState' gespeichert. Wenn die CAS-Operation erfolgreich ist (Schweregrad 0), wird die resultierende Tabelle geändert, um die Spalte '_Score_' zu formatieren und zu beschriften. Die Daten werden dann über eine Fetch-Aktion angezeigt und die Tabelle wird persistent als .sashdat-Datei gespeichert.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) für die Tabelle 'creditqualify'.

1 Codeblock
DATA STEP / PROC CAS / simple.groupBy Data
Erklärung :
Dieser Code beginnt mit der Erstellung einer temporären SAS-Tabelle namens 'creditqualify' über einen DATA STEP, die mit fiktiven Daten für die Variablen 'State', 'State_FIPS' und 'Credit_Score' gefüllt wird.

Anschließend wird die Prozedur 'PROC CAS' verwendet, um mit dem Cloud Analytic Services (CAS) zu interagieren. Eine CAS-Sitzung wird eingerichtet ('session mysession').

Die Aktion 'simple.groupBy' wird aufgerufen, um Gruppen basierend auf den Variablen 'State' und 'State_FIPS' der Tabelle 'creditqualify' zu erstellen. Der 'Credit_Score' wird als Gewichtungsvariable definiert, und 'MEAN' wird als Aggregator zur Berechnung des Durchschnitts angegeben. Die Optionen 'scoregt' und 'scorelt' filtern die numerischen Scores der Gruppierungen. Die resultierende Ausgabetabelle heißt 'ScorePerState' und wird in der aktiven Caslib erstellt, wobei jede vorhandene Tabelle mit demselben Namen ersetzt wird.

Nach Ausführung der Aktion 'simple.groupBy' wird der zurückgegebene Schweregradcode (s.severity) überprüft. Wenn dieser Code 0 ist, was eine erfolgreiche Ausführung anzeigt, wird ein IF-THEN/DO-Block ausgeführt.

Innerhalb dieses Blocks wird die Aktion 'table.alterTable' verwendet, um die Tabelle 'ScorePerState' zu ändern, indem ein Label ('Credit Score') und ein Format ('5.2') für die Spalte '_Score_' definiert werden.

Anschließend wird die Aktion 'table.fetch' aufgerufen, um die Variablen 'State', 'State_FIPS' und die (jetzt formatierte) Spalte '_Score_' aus der Tabelle 'ScorePerState' abzurufen und anzuzeigen.

Schließlich wird die Aktion 'table.save' verwendet, um die Tabelle 'ScorePerState' persistent als Datei 'ScorePerState.sashdat' in der aktiven Caslib zu speichern, um sicherzustellen, dass sie für die spätere Verwendung verfügbar ist.
Kopiert!
1DATA creditqualify;
2 LENGTH State $2. State_FIPS $2. Credit_Score 8;
3 INFILE DATALINES;
4 INPUT State State_FIPS Credit_Score;
5DATALINES;
6NC NC 750
7NC NC 700
8CA CA 800
9CA CA 650
10TX TX 600
11TX TX 720
12NY NY 780
13NY NY 690
14;
15RUN;
16 
17PROC CAS;
18 SESSION mysession;
19 SIMPLE.groupBy RESULT=r STATUS=s /
20 inputs={"State", "State_FIPS"},
21 weight="Credit_Score",
22 aggregator="MEAN",
23 scoregt=0,
24 scorelt=900,
25 TABLE={name="creditqualify"},
26 casout={name="ScorePerState",
27 replace=true};
28RUN;
29 IF (s.severity = 0) THEN DO;
30 TABLE.alterTable / columns={
31 {label="Credit Score", FORMAT="5.2", name="_Score_"}},
32 name="ScorePerState";
33 TABLE.fetch /
34 FORMAT=True,
35 fetchVars={"State", "State_FIPS",
36 {name="_Score_",FORMAT="5.2"}},
37 TABLE={name="ScorePerState"},
38 index=false;
39 
40 TABLE.save /
41 TABLE={name="ScorePerState"},
42 name="ScorePerState.sashdat",
43 replace=True;
44 END;
45RUN;
46QUIT;
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.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All Rights Reserved