sessionProp

fmtLibCntlIn

Beschreibung

Die Aktion `fmtLibCntlIn` erstellt eine Formatbibliothek in einer CAS-Sitzung, indem sie Formatdefinitionen aus einer Kontrolltabelle liest. Dies ist funktional analog zur Option `CNTLIN=` in der `PROC FORMAT`-Anweisung von SAS 9. Die Eingabetabelle muss eine spezifische Struktur (Spalten wie `FMTNAME`, `START`, `LABEL`, etc.) aufweisen, die die Formatbereiche und -werte definiert. Diese Aktion ist entscheidend für die Migration bestehender SAS-Formate in die Cloud Analytic Services (CAS) Umgebung oder für das datengesteuerte Erstellen von Formaten. Beachten Sie, dass PICTURE-Formate derzeit nicht vollständig unterstützt werden.

Einstellungen
ParameterBeschreibung
fmtLibNameGibt den Namen der Formatbibliothek an, die in der aktuellen Sitzung erstellt oder aktualisiert werden soll.
tableGibt die Quell-Tabelle (CAS-Tabelle) an, die die Format-Kontrolldaten enthält. Diese Tabelle sollte die Struktur einer mit `PROC FORMAT CNTLOUT=` erzeugten Tabelle haben. Unterstützt Parameter wie `name`, `caslib` und `where`.
Erstellung der Kontrolltabelle

Wir erstellen zunächst lokale SAS-Formate, exportieren diese in eine SAS-Datei (Kontrolltabelle) und laden diese anschließend in die CAS-Bibliothek `casuser`.

Kopiert!
1PROC FORMAT;
2 value $gender 'M'='Male' 'F'='Female';
3 value agegrp low-30='Young' 31-high='Mature';
4RUN;
5 
6/* Exportieren in eine Kontrolltabelle */
7PROC FORMAT cntlout=work.myfmtcntl;
8RUN;
9 
10/* Hochladen der Tabelle nach CAS */
11cas mySession sessopts=(caslib="casuser");
12LIBNAME casuser cas caslib="casuser";
13 
14DATA casuser.fmt_cntl_table;
15 SET work.myfmtcntl;
16RUN;

Beispiele

Die Aktion liest die Tabelle `fmt_cntl_table` und erstellt daraus die Formatbibliothek `myFmtLib` in der aktuellen Sitzung.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 sessionProp.fmtLibCntlIn /
3 fmtLibName="myFmtLib",
4 TABLE={name="fmt_cntl_table", caslib="casuser"};
5RUN;
Ergebnis :
Die Formatbibliothek `myFmtLib` wird erstellt und enthält die Formate `$gender` und `agegrp`. Diese sind nun für die Dauer der Sitzung nutzbar.

In diesem erweiterten Beispiel wird die Bibliothek importiert und anschließend ihr Inhalt detailliert aufgelistet, um die Korrektheit der Formatbereiche (Ranges) zu verifizieren.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 /* Importieren der Formate */
3 sessionProp.fmtLibCntlIn RESULT=r STATUS=rc /
4 fmtLibName="myFmtLib",
5 TABLE={name="fmt_cntl_table", caslib="casuser"};
6 
7 IF rc.statusCode != 0 THEN DO;
8 PRINT "Fehler beim Importieren der Formate: " rc.statusMsg;
9 END;
10 ELSE DO;
11 /* Auflisten der importierten Formate und ihrer Bereiche */
12 sessionProp.listFmtLibs /
13 fmtLibName="myFmtLib",
14 showRanges=TRUE;
15 END;
16RUN;
Ergebnis :
Es wird eine Ergebnistabelle angezeigt, die für `$gender` und `agegrp` die jeweiligen Start- und Endwerte (`M`, `F`, `low-30`, etc.) sowie die zugehörigen Labels auflistet.

FAQ

Was ist der Zweck der Aktion fmtLibCntlIn?
Welche Parameter sind für die Aktion fmtLibCntlIn erforderlich?
Gibt es Einschränkungen bei der Verwendung dieser Aktion?
Wofür wird der Parameter "table" verwendet?