Veröffentlicht am :
ETL SASHELP

Wiederholbare Ergebnisse mit Distributed DATA Step (BY-Gruppen)

Dieser Code ist auch verfügbar auf: Español Français
Wartet auf Validierung
Das Skript beginnt mit der Konfiguration der CAS-Umgebung, indem eine CASLIB namens CASWORK der Caslib 'casuser' zugewiesen und CASWORK als Standardbenutzerbibliothek für einstufige Tabellen festgelegt wird. Anschließend werden alle CAS-Librefs und Standard-CASLIBs mit dem SAS©-Client verbunden. Ein DATA Step wird verwendet, um den Datensatz 'baseball' aus der Bibliothek 'sashelp' in eine CAS-Tabelle namens 'caswork.baseball' zu laden, wobei eine eindeutige Variable '_n_' namens 'row_id' hinzugefügt wird. Ein zweiter DATA Step verarbeitet dann 'caswork.baseball' unter Verwendung einer BY-Anweisung für die Variablen 'div', 'team' und 'row_id' (für die Reproduzierbarkeit hinzugefügt). Die Anweisung 'if first.team then output;' stellt sicher, dass nur die erste Beobachtung jedes Teams ausgewählt wird, wodurch konsistente und wiederholbare Ergebnisse in einer verteilten Umgebung erzielt werden.
Datenanalyse

Type : SASHELP


Das Skript verwendet den Datensatz 'baseball' aus der Standardbibliothek 'sashelp', der in SAS intrinsisch verfügbar ist.

1 Codeblock
Configuration CAS
Erklärung :
Dieser Block konfiguriert den Zugriff auf CAS. Er erstellt eine SAS-Bibliothek ('CASWORK'), die auf eine CAS-Caslib ('casuser') verweist, definiert diese Bibliothek als Standardspeicherort für einstufige Tabellen und weist alle verfügbaren Caslibs der SAS-Sitzung zu. Das Makro '%put &_sessref_;' zeigt die ID der aktiven CAS-Sitzung an.
Kopiert!
1LIBNAME CASWORK cas caslib=casuser;
2options USER = CASWORK;
3caslib _all_ assign;
4%put &_sessref_;
2 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA Step lädt den Datensatz 'baseball' aus der Bibliothek 'sashelp' (einer Standard-SAS-Bibliothek) in eine neue CAS-Tabelle namens 'baseball' in der Caslib 'caswork'. Er erstellt außerdem eine neue Variable 'row_id', die eine eindeutige numerische Sequenz für jede Zeile ('_n_') ist. Diese Variable ist entscheidend, um die Reproduzierbarkeit in einer verteilten Umgebung zu gewährleisten.
Kopiert!
1DATA caswork.baseball;
2 SET sashelp.baseball;
3 row_id=_n_;
4RUN;
3 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA Step verarbeitet die CAS-Tabelle 'caswork.baseball'. Die BY-Anweisung gibt die Sortierung nach 'div', 'team' und der eindeutigen ID 'row_id' an. Der Ausdruck 'if first.team then output;' wählt nur die erste Beobachtung für jede eindeutige Kombination von 'team' aus. Die Aufnahme von 'row_id' in die BY-Anweisung stellt sicher, dass selbst in einer verteilten CAS-Umgebung, in der die Reihenfolge der Zeilen zwischen den Knoten variieren kann, die Auswahl von 'first.team' deterministisch und wiederholbar bleibt.
Kopiert!
1DATA caswork.nodup;
2 SET caswork.baseball;
3 BY div team row_id ;
4 IF first.team THEN OUTPUT;
5RUN;
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 © 2021, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0