Veröffentlicht am :

Verwaltung von SAS-Formaten in CAS

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Das Skript initialisiert eine CAS-Sitzung und weist alle verfügbaren Caslibs zu. Es listet die vorhandenen CAS-Formatbibliotheken auf, erstellt dann einen temporären Datensatz 'cars' aus 'sashelp.cars'. Ein SAS©9-Format namens 'enginesize' wird lokal erstellt und eine Kopie davon wird automatisch in einer dedizierten CAS-Formatbibliothek ('casformats') erstellt. Diese Formatbibliothek wird dann promoted, um sie global und persistent im Speicher zu machen. Das Skript speichert die Formatbibliothek in einer SASHDAT-Datei, um ihre Persistenz über CAS-Server-Neustarts hinaus sicherzustellen, und überprüft dann die Existenz der Datei. Ein CAS-Datensatz wird anschließend erstellt, der das definierte Format verwendet. Schließlich zeigt das Skript, wie Sitzungs- und globale Formatbibliotheken gelöscht werden können, und wie ein Format aus der SASHDAT-Datei neu geladen werden kann, indem die Formate und ihre Werte aufgelistet werden, um den Vorgang zu validieren.
Datenanalyse

Type : MIXTE


Das Skript verwendet den SASHELP.CARS-Datensatz, eine interne SAS-Datenquelle, zur Erstellung der Anfangsdaten. Temporäre Datensätze ('cars') und CAS-Datensätze ('casuser.cars_cas') werden intern erstellt und zur Anwendung der Formate verwendet.

1 Codeblock
CASL
Erklärung :
Dieser Block initialisiert eine Cloud Analytic Services (CAS)-Sitzung und weist alle verfügbaren Caslibs zu, um den Zugriff auf CAS-Daten und -Ressourcen zu ermöglichen. Anschließend werden alle aktuell geladenen CAS-Formatbibliotheken aufgelistet, was einen Überblick über den anfänglichen Status der Formate gibt.
Kopiert!
1cas;
2caslib _all_ assign;
3 
4cas casauto listformats;
2 Codeblock
DATA STEP Data
Erklärung :
Erstellt einen temporären Datensatz namens 'cars' in der WORK-Bibliothek aus dem SASHELP.CARS-Datensatz. Dieser Datensatz wird später verwendet, um Formate und CAS-Tabellen zu erstellen.
Kopiert!
1DATA cars;
2 SET sashelp.cars;
3RUN;
3 Codeblock
PROC FORMAT
Erklärung :
Dieser Block definiert ein Benutzerformat 'enginesize' in der Bibliothek WORK.FORMATS. Dank der Option `casfmtlib="casformats"` wird eine Kopie dieses Formats automatisch erstellt und einer neuen CAS-Formatbibliothek namens 'casformats' hinzugefügt. Dieses Format kategorisiert die Motorgrößen in verschiedene beschreibende Kategorien.
Kopiert!
1PROC FORMAT library=work.formats casfmtlib="casformats" ;
2 value enginesize
3 low - <2.7 = "Very economical"
4 2.7 - <4.1 = "Small"
5 4.1 - <5.5 = "Medium"
6 5.5 - <6.9 = "Large"
7 6.9 - high = "Very large";
8RUN;
4 Codeblock
CASL
Erklärung :
Listet erneut die CAS-Formatbibliotheken auf, um die Erstellung der Bibliothek 'casformats' nach der Ausführung von PROC FORMAT zu bestätigen.
Kopiert!
1cas casauto listformats;
5 Codeblock
CASL
Erklärung :
Promoted die Formatbibliothek 'casformats', um sie global und persistent im CAS-Speicher zu machen. Dies ermöglicht anderen Benutzern oder CAS-Sitzungen den Zugriff auf dieses Format, ohne es neu definieren zu müssen.
Kopiert!
1cas casauto promotefmtlib fmtlibname='casformats';
6 Codeblock
CASL
Erklärung :
Listet die Formatbibliotheken nach der Promotion auf, um den Status der Bibliothek 'casformats' zu überprüfen (sie sollte als promoted erscheinen).
Kopiert!
1cas casauto listformats;
7 Codeblock
CASL
Erklärung :
Speichert die Formatbibliothek 'casformats' in einer SASHDAT-Datei namens 'casfmt_table' innerhalb der Caslib 'formats'. Dieser Vorgang gewährleistet die Persistenz des Formats über CAS-Server-Neustarts hinaus.
Kopiert!
1cas casauto savefmtlib fmtlibname='casformats' caslib='formats' TABLE='casfmt_table' replace;
2 
8 Codeblock
PROC CASUTIL
Erklärung :
Verwendet PROC CASUTIL, um die in der Caslib 'formats' vorhandenen Dateien aufzulisten und zu bestätigen, dass die SASHDAT-Datei 'casfmt_table', die die Formate enthält, erfolgreich erstellt wurde und zugänglich ist.
Kopiert!
1 
2PROC CASUTIL incaslib='formats';
3list files;
4QUIT;
5 
9 Codeblock
DATA STEP Data
Erklärung :
Erstellt einen CAS-Datensatz namens 'cars_cas' in der Caslib 'casuser' aus SASHELP.CARS und wendet das Format 'enginesize' auf die Variable 'EngineSize' an. Der Block zeigt dann die ersten 10 Beobachtungen des neuen Datensatzes an, um die korrekte Anwendung des CAS-Formats zu überprüfen.
Kopiert!
1DATA casuser.cars_cas(replace=yes);
2 SET sashelp.cars;
3 FORMAT enginesize enginesize.;
4RUN;
5 
6PROC PRINT DATA=casuser.cars_cas(obs=10);
7var EngineSize;
8RUN;
10 Codeblock
CASL
Erklärung :
Listet die CAS-Formatbibliotheken erneut auf, um einen Überblick nach der Verwendung des Formats zu erhalten.
Kopiert!
1cas casauto listformats;
11 Codeblock
CASL
Erklärung :
Entfernt die Formatbibliothek 'CASFORMATS' aus der aktiven CAS-Sitzung. Die Option `fmtsearchremove` stellt sicher, dass sie auch aus den Formatsuchpfaden entfernt wird.
Kopiert!
1cas casauto dropfmtlib fmtlibname=CASFORMATS fmtsearchremove;
2 
12 Codeblock
CASL
Erklärung :
Listet die CAS-Formatbibliotheken auf, um zu bestätigen, dass 'CASFORMATS' aus der Sitzung entfernt wurde.
Kopiert!
1cas casauto listformats;
13 Codeblock
CASL
Erklärung :
Versucht erneut, die Formatbibliothek 'CASFORMATS' zu löschen. Der Kommentar im Originalcode weist darauf hin, dass eine Warnmeldung erscheinen kann, wenn die Bibliothek nicht mehr gefunden wird, aber dieser Befehl soll sicherstellen, dass sie aus jedem Kontext entfernt wird.
Kopiert!
1cas casauto dropfmtlib fmtlibname=CASFORMATS fmtsearchremove;
2 
14 Codeblock
CASL
Erklärung :
Listet die CAS-Formatbibliotheken auf, um das Ergebnis des globalen Löschversuchs zu überprüfen.
Kopiert!
1cas casauto listformats;
15 Codeblock
CASL
Erklärung :
Lädt eine Formatbibliothek aus der SASHDAT-Datei 'casfmt_table' (zuvor gespeichert) und stellt sie unter dem neuen Namen 'fmthdat' in der CAS-Sitzung zur Verfügung.
Kopiert!
1cas casauto addfmtlib fmtlibname=fmthdat
2caslib=formats
3TABLE=casfmt_table;
4 
16 Codeblock
CASL
Erklärung :
Listet die CAS-Formatbibliotheken auf, um das Laden von 'fmthdat' zu bestätigen.
Kopiert!
1cas casauto listformats;
17 Codeblock
CASL
Erklärung :
Zeigt die Mitglieder (einzelne Formate) aller geladenen Formatbibliotheken an und listet dann speziell die Wertebereiche und Labels auf, die für das Format 'enginesize' definiert sind, um dessen Inhalt und Verfügbarkeit zu validieren.
Kopiert!
1cas casauto listformats members;
2cas casauto listfmtranges fmtname=enginesize;
3 
18 Codeblock
DATA STEP Data
Erklärung :
Erstellt den CAS-Datensatz 'cars_cas' erneut unter Verwendung des Formats 'enginesize', das aus der SASHDAT-Datei neu geladen wurde, und demonstriert, dass das Format nach dem Laden aus einem persistenten Speicher wieder aktiv und nutzbar ist.
Kopiert!
1DATA casuser.cars_cas(replace=yes);
2 SET sashelp.cars;
3 FORMAT enginesize enginesize.;
4RUN;
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