sessionProp

addFormat

L'essentiel
Auf einen Blick
Für eine aussagekräftige Datenanalyse ist die korrekte visuelle Repräsentation von Werten ebenso wichtig wie deren rechnerische Genauigkeit. Die Funktion addFormat dient als zentrales Werkzeug zur Erweiterung von Formatbibliotheken, indem sie es ermöglicht, abstrakte Variablenwerte in verständliche Geschäftsbegriffe zu übersetzen. Diese Anpassung der Anzeigelogik ist ein wesentlicher Schritt bei der Datenaufbereitung für standardisierte Berichte. In unserer nachfolgenden Wissensdatenbank finden Sie detaillierte Antworten zu technischen Implementierungsfragen und Best Practices für die Erstellung robuster Formatdefinitionen.

Beschreibung

Fügt ein benutzerdefiniertes Format zu einer Formatbibliothek in einer CAS-Sitzung hinzu. Diese Aktion ist entscheidend für die Datenvisualisierung und -berichterstattung, da sie es ermöglicht, Rohdatenwerte (wie numerische Codes) in aussagekräftige, lesbare Bezeichnungen (wie 'Männlich', 'Weiblich') umzuwandeln, ohne die zugrunde liegenden Daten zu verändern. Formate können für numerische oder Zeichenvariablen definiert werden und unterstützen auch länderspezifische Darstellungen.

sessionProp.addFormat <result=results> <status=rc> / dataType={"string-1" <, "string-2", ...>}, defaultL=64-bit-integer, fill={"string-1" <, "string-2", ...>}, fmtLibName="string", fmtName="string", fmtType="string", fuzz=double, locale="string", maxL=64-bit-integer, minL=64-bit-integer, mult={double-1 <, double-2, ...>}, multiLabel=TRUE | FALSE, noedit={"string-1" <, "string-2", ...>}, notSorted=TRUE | FALSE, prefix={"string-1" <, "string-2", ...>}, ranges={"string-1" <, "string-2", ...>}, replace=TRUE | FALSE;
Einstellungen
ParameterBeschreibung
dataType Gibt an, ob der Wert DATE, TIME oder DATETIME ist.
defaultL Gibt die Standardlänge des Formats an.
fill Gibt das Füllzeichen für das PICTURE-Format an.
fmtLibName Gibt einen Namen für die Formatbibliothek an.
fmtName Gibt einen Namen für das Format an.
fmtType Gibt den Formattyp an: PICTURE, INVALUE oder VALUE.
fuzz Gibt einen Fuzz-Faktor für den Abgleich von Werten mit einem Bereich an.
locale Gibt die Ländereinstellung an, die im Ländereinstellungspräfix des Formatnamens verwendet werden soll.
maxL Gibt eine maximale Länge für das Format in Bytes an.
minL Gibt eine minimale Länge für das Format in Bytes an.
mult Gibt einen Multiplikator für das PICTURE-Format an, anstatt ihn basierend auf Dezimalstellen zu berechnen.
multiLabel Wenn auf True gesetzt, können mehrere Bezeichnungen für den internen Wert angegeben werden.
noedit Gibt eine Nicht-Bild-Bezeichnung für das PICTURE-Format an.
notSorted Wenn auf True gesetzt, werden Werte oder Bereiche in der Reihenfolge gespeichert, in der sie definiert wurden.
prefix Gibt Präfixzeichen für das PICTURE-Format an.
ranges Gibt eine Liste von Wert=Bezeichnung- oder Bereich=Bezeichnung-Paaren an. Bereiche werden als min-max=Bezeichnung angegeben.
replace Wenn auf True gesetzt, wird ein vorhandenes Format mit demselben Namen durch dieses Format ersetzt.
Erstellung der Formatbibliothek

Bevor ein Format hinzugefügt werden kann, muss eine Formatbibliothek existieren. Dieser Code erstellt eine CAS-Formatbibliothek namens 'mycasfmtlib', die für die folgenden Beispiele benötigt wird. Diese Bibliothek wird im Sitzungsgeltungsbereich erstellt, was bedeutet, dass sie nur für die Dauer der aktuellen CAS-Sitzung verfügbar ist.

Kopiert!
1PROC CAS;
2sessionprop.addFmtLib /
3 fmtLibName="mycasfmtlib";
4RUN;

Beispiele

Dieses Beispiel zeigt, wie man ein neues numerisches Format namens 'myfmt' zur Formatbibliothek 'mycasfmtlib' hinzufügt. Das Format ordnet den Werten 1 und 2 die Bezeichnungen 'Eins' und 'Zwei' zu.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2sessionprop.addFormat /
3 fmtLibName="mycasfmtlib"
4 fmtName="myfmt"
5 ranges={ {1,'Eins'}, {2,'Zwei'} };
6RUN;
Ergebnis :
Die Aktion fügt das Format 'myfmt' erfolgreich zur Bibliothek 'mycasfmtlib' hinzu. Eine nachfolgende Überprüfung der Bibliothek würde das neue Format anzeigen.

Dieses Beispiel zeigt, wie man ein länderspezifisches Datumsformat erstellt. Durch Angabe von 'locale="fr_FR"' wird das Format '$mydate' für das französische Gebietsschema erstellt. Die Bereiche geben an, wie die numerischen Werte 1 und 2 als '15JAN2024'd bzw. '16JAN2024'd formatiert werden sollen. Die Option 'replace=true' stellt sicher, dass ein bereits vorhandenes Format mit demselben Namen und Gebietsschema überschrieben wird.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2sessionprop.addFormat /
3 fmtLibName="mycasfmtlib"
4 fmtName="$mydate"
5 locale="fr_FR"
6 dataType={"date"}
7 ranges={ {1, "'15JAN2024'd"}, {2, "'16JAN2024'd"} }
8 replace=true;
9RUN;
Ergebnis :
Die Aktion erstellt erfolgreich ein länderspezifisches Format in der angegebenen Formatbibliothek. Bei Verwendung in einer französischen Ländereinstellung wird dieses Format korrekt auf die Daten angewendet.

FAQ

Was bewirkt die `addFormat`-Aktion?
Welche Parameter sind für die `addFormat`-Aktion erforderlich?
Wie kann ich ein vorhandenes Format ersetzen?
Wie werden Wertebereiche (Ranges) für ein Format definiert?
Was ist der Zweck des `fuzz`-Parameters?
Kann ich mit dieser Aktion sprachspezifische Formate erstellen?

Zugehörige Szenarien

Anwendungsfall
Standardfall: Kundensegmentierung nach Alter und Kauf-Score

Eine Marketingabteilung möchte ihre Kunden für eine gezielte Kampagne segmentieren. Dazu müssen numerische Alters- und Score-Werte in verständliche Kategorien umgewandelt werden...

Anwendungsfall
Grenzfall: Kategorisierung von Laborwerten mit Toleranz (Fuzz) und fehlenden Werten

In einer klinischen Studie müssen Laborergebnisse, die leichten Messschwankungen unterliegen, robust kategorisiert werden. Dieses Szenario testet die `fuzz`-Option, um Werte nah...

Anwendungsfall
Performance/Internationalisierung: Verwaltung länderspezifischer Produktformate

Ein internationaler Einzelhändler muss Produktkategorien in verschiedenen Sprachen verwalten. Dieses Szenario testet die Erstellung, Ersetzung und Verwendung von länderspezifisc...