Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP, um eine Formatbibliothek direkt innerhalb von Caslibs zu erstellen und zu bewerben.
1 Codeblock
PROC FORMAT, PROC CAS Data
Erklärung : Dieses Beispiel veranschaulicht die gängigste Methode zur 'Bewerbung' von Formaten in SAS Viya: durch deren direkte Erstellung in einer für Formate vorgesehenen Caslib (hier 'myglobalformats'). Dadurch werden die Formate '$genderfmt' und 'agegrpfmt' sofort für alle nachfolgenden Operationen in der angegebenen Caslib und potenziell für andere Benutzer verfügbar, wenn die Caslib global und persistent ist. Es definiert Formate und wendet sie auf eine neue CAS-Tabelle an.
Kopiert!
options casopts=(caslib=casuser timeout=900);
cas casauto;
proc cas;
session casauto.addcaslib / caslib='myglobalformats' path='&_TEMP_/myformats' subdirs=true datasource=(srctype='path');
quit;
proc format lib=myglobalformats;
value $genderfmt
'M' = 'Masculin'
'F' = 'Féminin';
value agegrpfmt
low-<18 = 'Mineur'
18-high = 'Adulte';
run;
proc cas;
session casauto.addFmtSearchPath / searchPath={'myglobalformats'};
quit;
data casuser.clients (promote=yes);
input Name $ Gender $ Age;
format Gender $genderfmt. Age agegrpfmt.;
datalines;
Alice F 25
Bob M 17
Carol F 30
David M 20
;
run;
proc print data=casuser.clients;
run;
proc cas;
session casauto.removeFmtSearchPath / searchPath={'myglobalformats'};
session casauto.dropcaslib / caslib='myglobalformats';
quit;
Erklärung : Dieses Beispiel simuliert die Verwendung eines `$statusfmt`-Formats, das 'beworben' wurde (in einer Caslib 'myglobalformats' verfügbar gemacht). Es zeigt, wie sichergestellt wird, dass die Caslib, die die Formate enthält, im Formatsuchpfad der CAS-Sitzung (`addFmtSearchPath`) ist und wie dieses Format dann auf neue Daten angewendet wird, die in einem im CAS-Modus ausgeführten DATA-Step erstellt wurden. Es hebt die Zugänglichkeit des Formats nach seiner 'Bewerbung' hervor.
Kopiert!
options casopts=(caslib=casuser timeout=900);
cas casauto;
proc cas;
session casauto.addcaslib / caslib='myglobalformats' path='&_TEMP_/myformats' subdirs=true datasource=(srctype='path');
quit;
proc format lib=myglobalformats;
value $statusfmt
'A' = 'Actif'
'I' = 'Inactif'
'X' = 'En attente'
other = 'Inconnu';
run;
proc cas;
session casauto.addFmtSearchPath / searchPath={'myglobalformats'};
quit;
data casuser.ventes (promote=yes);
input Produit $ StatutCommande $ Montant;
format StatutCommande $statusfmt.;
datalines;
PC A 1200
Souris I 25
Clavier A 80
Ecran X 300
;
run;
proc print data=casuser.ventes;
run;
proc cas;
session casauto.removeFmtSearchPath / searchPath={'myglobalformats'};
session casauto.dropcaslib / caslib='myglobalformats';
quit;
Erklärung : Dieses fortgeschrittene Beispiel verwendet ein SAS-Makro, um die Erstellung und 'Bewerbung' eines Formats zu dynamisieren. Es zeigt, wie ein Format erstellt und über ein Makro in einer Caslib verfügbar gemacht werden kann. Darüber hinaus wird ein Konfliktszenario illustriert, in dem ein Format mit demselben Namen neu definiert wird und wie das System die neueste oder priorisierte Definition im Formatsuchpfad verwendet.
Kopiert!
options casopts=(caslib=casuser timeout=900);
cas casauto;
proc cas;
session casauto.addcaslib / caslib='dynamicformats' path='&_TEMP_/dynamicformats' subdirs=true datasource=(srctype='path');
quit;
%macro create_and_promote_format(libname, fmtname);
proc format lib=&libname;
value &fmtname
1 = 'Faible'
2 = 'Moyen'
3 = 'Élevé';
run;
proc cas;
session casauto.addFmtSearchPath / searchPath={'&libname'};
quit;
%mend;
%create_and_promote_format(libname=dynamicformats, fmtname=level);
proc format lib=dynamicformats;
value level
1 = 'Bas'
2 = 'Moy'
3 = 'Haut';
run;
data casuser.evaluations;
input ID Niveau;
format Niveau level.;
datalines;
101 1
102 2
103 3
;
run;
proc print data=casuser.evaluations;
run;
proc cas;
session casauto.removeFmtSearchPath / searchPath={'dynamicformats'};
session casauto.dropcaslib / caslib='dynamicformats';
quit;
Erklärung : Dieses Beispiel konzentriert sich auf die Lebenszyklusverwaltung von 'beworbenen' Formaten in SAS Viya. Es zeigt, wie über `listFmtSearchPath` überprüft wird, welche Caslibs derzeit im Formatsuchpfad einer CAS-Sitzung enthalten sind. Anschließend wird demonstriert, wie eine Caslib explizit aus dem Suchpfad entfernt (`removeFmtSearchPath`) und wie temporäre Ressourcen (die Caslib selbst) nach Gebrauch bereinigt werden, was für die Ressourcenverwaltung in einer gemeinsam genutzten CAS-Umgebung unerlässlich ist.
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.