Variablen und Codes

<< Click to Display Table of Contents >>

Navigation:  Datenmodifikation >

Variablen und Codes

Die Möglichkeiten der Umformung von Variablen und ihrer Codes gestalten sich in GESStabs wie folgt:

Mittels RECODE können Variablenwerte und Wertemengen rekodiert werden.

Gruppierungen können in unterschiedlichen Kontexten vorgenommen werden: Variablenlabels können zu Obercodes zusammengefasst, Mehrfachnennungsvariablen als Variablenfamilien und -gruppen komfortabel verarbeitet und Variablen(-listen) aus Effizienzgründen mit einer gemeinsamen Indexvariable verknüpft werden.


Eine der einfachsten Formen der Datenmanipulation ist das Kopieren bzw. Klonen einer Variable:

CloneVar

Syntax:

CLONEVAR <destinationvar> = <sourcevar> 
[ DELETELABELS [ MISSING | AUTONOANSWER | OVERCODE | {<number>}*n ] ];

CLONEVAR erzeugt einen Klon zu einer Quellvariable (sourcevar), der denselben Variablentyp und auch dieselbe Anzahl möglicher Nennungen hat. Dieser Klon erbt TEXT, VALUELABELS, VARTITLE, die MISSING-Values, MISSING ... RANGE und ggf. die Eigenschaften AUTONOANSWER, EVALFAMVALONCE und GROUPCOUNTS; auch variablenbezogene Angaben zu Dezimalstellen (DECIMALS, SETDECIMALS) werden übertragen.

Die VALUELABELS werden kopiert, das umfasst auch die OVERCODES und Label-Eigenschaften wie z.B. USEFONT, LEVEL, SORTCLASS, NEWPAGE und RECODE, analog zu LABELS COPY.  Außerdem wird intern eine COMPUTE COPY-Anweisung (COMPUTE COPY <destinationvar> = <sourcevar>;) generiert, die während des Einlesens alle Werte jeden Falls überträgt.

Voraussetzungen:

Es darf noch keine Variable mit dem Namen der "destinationvar" existieren.

"sourcevar" muss existieren und eine atomare Variable (SINGLEQ) oder eine Mehrfachnennungsvariable (MULTIQ, DICHOQ) sein. Variablen vom Typ ALPHA, OPENQ, ASSOCVAR und andere spezielle Variablen wie z.B. INDEXVAR können nicht geklont werden, der Versuch führt zu einem Syntaxfehler.

Nicht übertragen werden:

EXCLUDEVALUES und RESTRICTVALUES

VARKEY

FILTER (SETFILTER/ENDFILTER, FILTER)

Zu den weiteren Optionen:

Mehrere Variablen, die denselben Sachverhalt abbilden, werden bei der Tabellierung oft mit leichten Modifikationen benötigt. Ein häufiges Beispiel hierfür ist die Verwendung im Header und in der Vorspalte von Tabellen. MISSING-Values, AUTONOANSWER oder OVERCODE sollen zwar i.d.R. bei der Verwendung in der Vorspalte erscheinen, nicht aber im Tabellenkopf. Der Klon soll sich also manchmal doch ein wenig vom Original unterscheiden.

Mit der Option DELETELABELS können einzelne Labels gezielt über ihren Code oder anhand ihrer Eigenschaften MISSING, AUTONOANSWER und OVERCODE gelöscht werden.

Zum Beispiel:

CLONEVAR f3_header = f3 DELETELABELS MISSING AUTONOANSWER OVERCODE ;

FORHEADER f3_header = YES;

FORCOUNTS f3 = YES;

DELETELABELS ist wörtlich zu nehmen: es werden nur die Labels gelöscht, die Werte der Variablen werden nicht modifiziert. Damit sie nicht ohne Labels wieder erscheinen, ist es ratsam, die Einstellung GLOBALPRINTALL auf NO zu setzen.