<< Click to Display Table of Contents >> Navigation: Daten und Datensatz > Variablen in GESStabs > Variableneigenschaften > Label-Eigenschaften |
Im Zuge der VALUELABELS-Deklaration ist es möglich, den Wertelabels eine Reihe weiterer Eigenschaften zuzuweisen.
Alternativ können mit LABELFROMFILE alle Label-Informationen als CSV-Datei eingebunden werden.
LABELFORMAT bietet die Möglichkeit, die numberischen Codewerte einer Variablen(-liste) zu formatieren.
Wie groß dürfen Wertelabels höchstens sein? Siehe Maximale Codewerte.
Die folgende Syntax zeigt sämtliche Möglichkeiten für die Ausgestaltung eines VALUELABELS-Statements in ihrer Grundstruktur.
Syntax:
VALUELABELS <VarList> = [ ADD ] POSITION <number> ]
{ LabelEntry }*n ;
LabelEntry ::=
[ <number> "String" | OVERCODE [ SUM ] [<name> ]
[ <number> "String" [ BACKGROUND | FOREGROUND ] <color> ]
{ <number> [ :<number> ] }*n "String" ] [ LabelOption ]
LabelOption ::=
{
[ SORTCLASS <number> ] | BOTTOM | NORANKING | [ LEVEL <number> ]
| [ USEFONT <fontspecifier> ] | SIZE <fontsize> | [ CSSCLASS <value> ]
| NOCITATION | NEWPAGE | SLICE
| [ CELLELEMENTS ( <cellelements> )] | [ RECODE <value> ] ]
}*n
Ein LabelEntry definiert einen Variablenwert (oder einen Obercode, der mehrere Werte zusammenfasst) und den dazugehörigen Text: <number> "String", siehe labelbezogene Texte.
Jedem LabelEntry können ergänzend ein oder mehrere LabelOptions hinzugefügt werden.
ADD |
Editierung bestehender Labellisten, siehe ADD |
---|---|
POSITION |
Mit POSITION kann die Position vorgegeben werden, an der das neue Label (oder auch OVERCODE) in die Labelliste eingefügt wird. Die Zählung ist 1-basiert. Möchte man z.B. ein Label vor allen bestehenden einfügen, so schreibt man etwa: LABELS testvar = ADD POSITION 1 7 "label zum neuen code 7 am anfang der liste" ; Wird ein LABEL/OVERCODE an eine Position eingefügt, die so nicht 'exsitiert' (z.B. an POSTIION 5 in einer liste mit nur drei VALUELABELS, wird dieses Label einfach ans Listenende angehängt - so, als ob keine POSITION angegeben wäre. |
OVERCODE |
Bildung und Benennung eines Obercodes |
FOREGROUND |
Farbinformation für Vordergrund (Schrift) und Hintergrund |
SORTCLASS |
Vergabe einer Sortierklasse, siehe Sortierungen |
BOTTOM |
Label wird innerhalb einer Sortierklasse immer ans Ende sortiert, siehe SORTCLASS |
NORANKING |
Ausschluss aus Ranking, siehe Sortierungen |
Vergabe eines Zähllevels zur Steuerung der Ausgabe in Tabellen (relevant für Bedingte Tabellenanzeige): 1 = Label in MULTITOTAL unterdrücken 99 = Test gegen ROWMINIMUM/COLMINIMUM entfällt, d.h. immer ausgeben 98 = nicht abbilden, wenn Zeilen-/Spaltenhäufigkeit = 0 252 = Label nie drucken, immer unterdrücken |
|
USEFONT |
Schriftart, siehe Formatierung |
SIZE |
Schriftgröße, siehe Formatierung |
CSSCLASS |
Vergabe einer CSS-Klasse für die HTML-Ausgabe, siehe Formatierung |
NEWPAGE |
Seitenumbruch vor dem Label (Synonym: PAGE), siehe auch Layout |
SLICE |
Tabellenumbruch vor dem Label, siehe Layout |
CELLELEMENTS |
Anforderung spezifischer Zellenelemente für dieses Label |
RECODE |
Umkodierung (Voraussetzung: LABELRECODE = YES;), wird bei LABELS COPY bzw. LABELS AS vererbt |
Beispiel für eine gültiges VALUELABELS-Statement mit LabelProperties:
VALUELABELS V1 =
OVERCODE 1:3 "Norden" SORTCLASS 1
1 "Schleswig-Holstein" USEFONT "Helvetica" SIZE 12
2 "Hamburg" NEWPAGE LEVEL 525
3 "Mecklenburg-Vorpommern"
4 "Usedom" RECODE 3
9 "Keine Angabe" BOTTOM CELLELEMENTS ABSOLUTE
;
Syntax:
VALUELABELS <VarList> = LABELFROMFILE <filename>;
Anstelle der Auflistung einzelner VALUELABELs kann mit dem Schlüsselwort LABELFROMFILE auch eine CSV-Datei eingebunden werden, deren Inhalt die VALUELABELS beschreibt.
Diese CSV-Datei darf entweder in UTF-8 oder ANSI, bzw. Latin1 enkodiert sein. GESStabs entscheidet selbst, welche Enkodierung vorliegt.
Beispiel:
VALUELABELS V1 V2 = LABELFROMFILE mylabels.csv;
In der CSV-Datei stehen je Zeile die Informationen für ein Label. Beispiel für den Aufbau einer geeigneten CSV-Datei:
5 ; [VALUELABEL zum Code 5]
1 ; [VALUELABEL zum Code 1] ; LEVEL 252
2 ; [VALUELABEL zum Code 2] ; SORTCLASS 2 ; NEWPAGE
3 ; [VALUELABEL zum Code 3] ; USEFONT "Helvetica" SIZE 14 RECODE 3
OVERCODE 5 1:3 ; USEFONT "Helvetica" SIZE 14
Die erste Spalte jeder Zeile enthält den numerischen Code oder das Schlüsselwort OVERCODE und die zusammnzufassenden Codes. In der zweiten Spalte steht der Labeltext. In der Regel ist es nicht erforderlich, diesen in Anführungszeichen zu fassen (außer, es sind Semikola enthalten). Ab der dritten Spalte können Labeleigenschaften stehen - entweder einzeln ja Spalte oder alle a´hintereinander aufgereiht in der dritten Spalte.
In aller Regel werden die Labels den Codes der Variablen zugeordnet (siehe VALUELABELS). GESStabs kann aber auch Labels aus den Zahlenwerten direkt erzeugen. Die Format-Ausgestaltung dessen kann mit LabelFormat gesteuert werden. Siehe hierzu Formatierungen.
Für die Codewerte von VALUELABELS gibt es keine relevante absolute Größenbegrenzung. Die Anzahl der Dezimalstellen ist auf 14 begrenzt.
Die Codewerte von OVERCODEs dürfen nicht länger als 18 Stellen sein.
Auch die Grenzen von Code-Ranges ([X:Y]) dürfen aus entsprechend großen Zahlen bestehen, aber die Spannweite ist aus Performance-Gründen begrenzt:
•unter 1.000 ist bedenkenlos, z.B. OVERCODE 123456789001 : 123456789999
•über 5.000 (und unter 100.000) ist ok, ergibt aber eine Warnung, z.B. OVERCODE 1 : 9999
•über 100.000 Einzelwerte sind nicht zugelassen und ergeben einen Syntaxfehler, z.B. OVERCODE 1 : 100002