sessionProp

combineFmtLibs

Beschreibung

Kombiniert eine Liste von Formatbibliotheken in eine einzige Formatbibliothek. Diese Aktion ist nützlich, um Formate aus verschiedenen Quellen zu konsolidieren und die Verwaltung von benutzerdefinierten Formaten in einer CAS-Sitzung zu vereinfachen.

sessionProp.combineFmtLibs <result=results> <status=rc> / fmtLibOut="string", fmtLibsIn={"string-1" <, "string-2", ...>}, formatNames={"string-1" <, "string-2", ...>}, ignoreNameNotFound=TRUE | FALSE;
Einstellungen
ParameterBeschreibung
fmtLibOutGibt den Namen für die kombinierte Formatbibliothek an. Wenn bereits eine Formatbibliothek mit diesem Namen existiert, wird sie überschrieben.
fmtLibsInGibt die Liste der zu kombinierenden Formatbibliotheken an.
formatNamesGibt die Namen der spezifischen Formate an, die in die kombinierte Formatbibliothek aufgenommen werden sollen. Wenn dieser Parameter nicht angegeben wird, werden alle Formate aus den Quellbibliotheken kombiniert.
ignoreNameNotFoundGibt an, ob Formate, die in der Auswahlliste (formatNames) angegeben, aber nicht gefunden wurden, ignoriert werden sollen. Bei TRUE wird kein Fehler generiert.
Erstellung von Beispieldaten

Zuerst erstellen wir zwei separate SAS-Formatkataloge mit PROC FORMAT. Anschließend laden wir diese Kataloge als zwei verschiedene CAS-Formatbibliotheken (`myfmtlib1` und `myfmtlib2`) in die aktuelle CAS-Sitzung.

Kopiert!
1PROC FORMAT;
2 value agefmt 1-12='Kind' 13-19='Teenager' 20-65='Erwachsener';
3 value gender 1='Männlich' 2='Weiblich';
4RUN;
5 
6PROC FORMAT;
7 value statusfmt 1='Aktiv' 2='Inaktiv';
8RUN;
9 
10LIBNAME myfmts cas;
11 
12PROC CASUTIL;
13 save casdata='work.formats' casout='myfmts.myfmtlib1' replace;
14 save casdata='work.formats' casout='myfmts.myfmtlib2' replace;
15RUN;
16 
17PROC CAS;
18 sessionProp.addFmtLib / fmtLibName='myfmtlib1' caslib='myfmts' name='myfmtlib1.sashdat';
19 sessionProp.addFmtLib / fmtLibName='myfmtlib2' caslib='myfmts' name='myfmtlib2.sashdat';
20RUN;

Beispiele

Dieses Beispiel kombiniert alle Formate aus den Formatbibliotheken `myfmtlib1` und `myfmtlib2` in eine neue Bibliothek namens `combinedfmts`.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3sessionProp.combineFmtLibs / fmtLibOut="combinedfmts" fmtLibsIn={"myfmtlib1", "myfmtlib2"};
4 
5RUN;
6 
Ergebnis :
Die Aktion gibt eine Erfolgsmeldung zurück. Die neue Formatbibliothek `combinedfmts` wird erstellt und enthält alle Formate (`agefmt`, `gender`, `statusfmt`) aus den beiden Quellbibliotheken.

Dieses Beispiel zeigt, wie nur bestimmte Formate (`agefmt` und `gender`) aus den Bibliotheken `myfmtlib1` und `myfmtlib2` in eine neue Bibliothek `selectivefmts` kombiniert werden. Das Format `statusfmt` wird nicht berücksichtigt.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3sessionProp.combineFmtLibs / fmtLibOut="selectivefmts" fmtLibsIn={"myfmtlib1", "myfmtlib2"} formatNames={"agefmt", "gender"};
4 
5RUN;
6 
Ergebnis :
Die Aktion erstellt eine neue Formatbibliothek `selectivefmts`, die nur die Formate `agefmt` und `gender` enthält. Andere Formate aus den Quellbibliotheken werden ignoriert.

Dieses Beispiel versucht, die Formate `agefmt` und `nonexistentfmt` zu kombinieren. Da `ignoreNameNotFound=true` gesetzt ist, wird kein Fehler generiert, obwohl `nonexistentfmt` nicht existiert. Nur `agefmt` wird der neuen Bibliothek hinzugefügt.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3sessionProp.combineFmtLibs / fmtLibOut="robustcombo" fmtLibsIn={"myfmtlib1", "myfmtlib2"} formatNames={"agefmt", "nonexistentfmt"} ignoreNameNotFound=true;
4 
5RUN;
6 
Ergebnis :
Die Aktion wird erfolgreich ausgeführt und erstellt die Formatbibliothek `robustcombo`, die nur das Format `agefmt` enthält. Das Fehlen von `nonexistentfmt` wird ignoriert und führt nicht zu einem Fehler.

FAQ

Was ist der Zweck der `combineFmtLibs`-Aktion?
Welcher Parameter gibt die resultierende kombinierte Formatbibliothek an?
Wie gebe ich die zu kombinierenden Formatbibliotheken an?
Kann ich nur bestimmte Formate aus den Eingabebibliotheken kombinieren?
Was passiert, wenn ein in `formatNames` angegebener Formatname nicht gefunden wird?