Protokolle

<< Click to Display Table of Contents >>

Navigation:  Arbeit mit GESStabs > Protokolle und Prüfungen >

Protokolle

ListOn

Protokoll über die von GESStabs interpretierten Skript-Anweisungen im INPUT-DATA-ERROR-Fenster (GESStabs-Oberfläche).

Syntax:

LISTON = [ YES | NO ];

Voreinstellung: YES

LISTON = NO; schaltet das Protokoll ab.


ListFile

Normalerweise wird die Interpretation der Anweisungen in der GESStabs-Bildschirm-Oberfläche protokolliert. Man kann dieses Protokoll oder Teile davon aber auch in einer Datei dokumentieren, die man mit LISTFILE benennt.

Syntax:

LISTFILE = <filename>;

Beispiel:

LISTFILE = Tables.Err;


ListVars

Erzeugt in der angegebenen Datei eine Auflistung aller im System bekannten Variablen, deren Filterung, Titel, Label (und der Verspaltung bei ASCII-Dateien).

Syntax:

LISTVARS= <filename> [ options ];
option ::= ASCIIOUT | COLBINOUT | ALL | SPSS | LABELS

Im Normalfall wird eine Auflistung der Variablen geliefert, wie sie aus einem ASCII-Datensatz gelesen werden. Alle weiteren Variablen, die z.B. durch Compute etc. erzeugt werden, sind im Normalfall nicht enthalten. Gibt man eine der Optionen ASCIIOUT, COLBINOUT oder SPSS an, werden nur die Variablen gezeigt, die aus dieser Quelle gelesen werden (SPSS) oder in dieser Formatierung exportiert werden (ASCIIOUT, COLBINOUT).

Die zusätzliche Option LABELS bewirkt bei ASCII- und ColBin-Daten, dass die Valuelabels und deren Codes mit ausgegeben werden. Bei SPSS als Quelle werden diese standardmäßig ausgegeben. In diesem Fall (SPSS) wird die Beschreibung in GESStabs-Syntax ausgegeben. Im Standardfall kann man diese Ausgabe sehr einfach per INCLUDE wieder in das Skript importieren. Auf diese Weise ist es relativ bequem möglich, die oft erforderlichen Korrekturen an den Texten anzubringen (aufgrund verkürzter Fragentexte, fehlender Trennhinweise etc.). Kombiniert man die Option SPSS mit der Option ALL, dann findet sich in der Ausgabedatei auch der Variablenname als SINGLEQ (andere kann SPSS nativ ja nicht speichern).

Alternative Syntax:

LISTVARS = <filename> STRUCTURE;

Die File-Extension von <filename> wird auf ".csv" gesetzt. Unter <filename> wird eine Beschreibung der Variablen des .tab-Files abgelegt. Hierbei wird für jede atomare Variable, die aus dem Datafile gelesen wird, der csv-Datei eine Zeile hinzugefügt. Die CSV-Datei hat z. Zt. folgende Header:

Question ID

Variable ID

Start Column

End Column

Width

Range

Type

Question Vartitle

Question Text

Gehen die Definitionen der Variablen über mehrere Zeilen (CARDS > 1), dann wird noch eine Spalte »dataline« hinzu gefügt.


ProtocolPage

Syntax:

PROTOCOLPAGE = [ YES | NO ];

Setzt man diesen Schalter auf YES, wird bei Postscript-Ausgabe als erste Seite (vor den Tabellen) eine Protokollseite generiert, die Informationen über den Programmlauf wiedergibt (Datum, Uhrzeit, Benutzer- und Maschinename, verwendetes GESStabs.exe sowie alle Source- und Daten-Dateien, jeweils inkl. Zeitstempel).


MacroProtokoll

Manchmal kann es bei komplexen Macros nicht ganz einfach sein, die Ursache eines Syntaxfehlers zu erkennen; man sieht ja im Quelltext nur die Macroanweisungen, aber nicht das expandierte Produkt. Deshalb gibt es die Möglichkeit, die expandierten Macros in eine Textdatei auszugeben. So kann man sie einfacher überpüfen.

Syntax:

MACROPROTOCOL = <dateiname> [ DOMACRO ] ;

Achtung: Auch lange Macros werden in eine Textzeile expandiert. Es kann hilfreich sein, den Editor auf wordwrap einzustellen.


PrintWeightProtocol

Syntax:

PRINTWEIGHTPROTOCOL = [ YES | NO ];

Mit YES kann man für Debuggingzwecke ein Protokoll der Gewichtungsschritte anfordern.


NoReport

Variableneigenschaft

Syntax:

NOREPORT <varlist> = [ YES | NO ];

Eine variable mit der Eigenschaft NOREPORT wird in der Ausgabe durch report.exe unterdrückt.

Beispiel: NOREPORT sysnum sysdate systime = NO;


NoLogFiles

Syntax:

NOLOGFILES = [ YES | NO ];

Wenn auf YES gesetzt, werden die Log-files gtc.lst, gtc.msg etc nicht erzeugt. Dann gibt es auch keine entsprechenden Viewer-Fenster in gesstabs.exe.


Protkolle für bestimmte Datenformate

SPSS und Invertierte Datensätze: SYNTAX

Grundsätzlich für jeden Dateninput-Typ anwendbar, aber besonders sinnvoll bei SPSSINFILE.

Syntax:

SYNTAX {  [ POSTPONE ] [ VARIABLES | LABELS | VARTITLE 
| VALUELABELS | MISSING | EXCLUDEVALUES | RESTRICTVALUES| 
MULTIDEF | FORMAT ]}*n = <filename>;

SYNTAXVARNAMENOQUOTES = [ YES | NO ];  

Auf der Basis der bekannten Variablenstruktur wird eine möglichst redundanzfreie Beschreibung in GESStabs-Syntax erzeugt (und in einer neuen Textdatei gespeichert). Vor der Ausgabe werden die Inhalte alle auf Redundanz geprüft. Wenn also mehrere Variablen z.b. dieselben Valuelabels haben, dann werden sie in der Form

VALUELABELS <varlist> = ...

zusammengefasst. Beispiel:

VALUELABELS s1b_1_1 s1b_2_1 s1b_3_1 s2b_1_1 s2b_2_1 s2b_3_1 s3b_1_1 s3b_2_1 s3b_3_1 =

1 "Much more frequently"

2 "More frequently"

3 "Slight change / no change"

4 "Less frequently"

5 "Much less frequently"

;

Für VALUELABELS werden auch die Label-Eigenschaften FOREGROUND und BACKGROUND exportiert, für Obercodes der Name des OVERCODEs sowie die Sortiereigenschaft SORTPOSITION.

Dasselbe gilt für Vartitle und Vartext. Die ursprüngliche Reihenfolge der Variablen wird, soweit möglich, beibehalten. Die Reduktion der Redundanz hat aber Vorrang. Bei SYNTAX VARIABLES wird ein Macro #vars ausgegeben, in dem für jede Variable eine Zeile mit dem Variablennamen steht. Die Reihenfolge entspricht der Reihenfolge der Generierung der Variablen.

Bei Anwendung von SYNTAX LABELS werden für OVERCODEs deren Bildungsvorschriften mit ausgegeben. OVEROVERCODEs werden während der scriptinterpretation in OVERCODEs übersetzt und werden im SYNTAX-Statement als OVERCODE ausgegeben. Labeloptionen (z.B. SINGLE, SLICE etc.) werden ebenfalls ausgegeben, ebenso LEVEL, USEFONT, CELLELEMENTS, GEO, RECODE, SORTCLASS und CSSCLASS.

Beispiel:

Aus dem Originalscript

labels sorttestxx = 

overcode OC1 1:2 "erster OC" cellelements ( absolute columnpercent )

overcode OC2 3:5 "zweiter OC"

overcode OC3 6 7 "dritter OC"

overcode OC4 8 9  "vierter OC" 

overcode OC5 10 "fünfter OC" level 252

overovercode OOC1 :OC3 :OC2 "erster OOC"

overovercode OOC2 :OC4 :OC5 :OC1 "zweiter OOC"

overovercode OOOC1 :OOC1 :OOC2 "erster OOOC" usefont Helvetica size 13

1 eins

2 zwei

3 drei usefont Helvetica size 13

4 vier

5 fünf

6 sechs

7 sieben

8 acht

9 neun

10 zehn bottom single

;

wird folgende SYNTAX-Ausgabe:

VALUELABELS sorttestxx =

1 "eins"

2 "zwei"

3 "drei" USEFONT "Helvetica" SIZE 13

4 "vier"

5 "fünf"

6 "sechs"

7 "sieben"

8 "acht"

9 "neun"

10 "zehn" BOTTOM SINGLE

OVERCODE 1 2  "erster OC" CELLELEMENTS( COLUMNPERCENT ABSOLUTE ) 

OVERCODE 3 4 5  "zweiter OC"

OVERCODE 6 7  "dritter OC"

OVERCODE 8 9  "vierter OC"

OVERCODE 10  "fünfter OC" LEVEL 252

OVERCODE 7 6 3 4 5  "erster OOC"

OVERCODE 9 8 10 1 2  "zweiter OOC"

OVERCODE 3 4 5 6 7 1 2 10 8 9  "erster OOOC" USEFONT "Helvetica" SIZE 13

;

Ist die Option MISSING definiert, werden alle Variablen mit MISSING VALUES ausgegeben.

Bei EXCLUDEVALUES und RESTRICTVALUES wird eine Liste der betroffenen Variablen mit den vorgefundenen EXCLUDEVALUES bzw. RESTRICTVALUES ausgegeben.

POSTPONE ist ein Spezial-Option im Zusammenhang mit INVERTOUT: Es bewirkt eine Aufschiebung der internen SYNTAX-Definition, bis das Lesen der Daten beendet ist (normalerweise wird SYNTAX zeitgleich mit dem Einlesen und Verarbeiten der Daten ausgeführt). Dies ist dann relevant, wenn man in invertierten Dateien auch die Inhalte von ALPHA-Variablen speichert. Invertierte Dateien sind von ihrer Struktur auf Effizienz designed und sie enthalten nur numerische Daten. Die den Labels zugeordneten Codes werden automatisch gespeichert. Um solche Variablen nach dem Lesen aus invertierten Dateien auszuwerten, bedarf es der zughörigen Label-informationen. Diese wird im SYNTAX-File mit ausgegeben, wenn die Pption POSTPONE gesetzt ist.

Die Option MULTIDEF ist ebenfalls für invertierte Dateien relevant: Ist diese definiert, wird einleitend ein Script generiert, das alle Mehrfachnennungsvariablen aus den atomaren Variablen rekonstruiert. Dies macht die Syntaxausgabe kompatibel mit der Form, in der Variablen in invertierten Dateien gespeichert sind. Für eine DICHOQ mit drei ausprägungen würde hier z.B.

VARGROUP WICHTIG = ( "WICHTIG $1" "WICHTIG $2" "WICHTIG $3"  ) EQ 1;

ausgegeben.

Wird FORMAT spezifiziert, werden alle Formatstrings ausgegeben, die im Script definiert sind.
Anmerkung: Da im Verlauf eines Scripts Formatangaben neu definiert werden können, wird der aktuelle stand  ausgegeben. Das ist im Defaultfall der Stand, der während der Compilierung des SYNTAX-Statements (heißt: an der Stelle im Script) gilt. Bei Verwendung von POSTPONE ist das der Stand am Ende des Projekts.

Zu SYNTAXVARNAMENOQUOTES:
Voreinstellung: NO
Bei der Ausgabe von SYNTAX werden die Variablennamen mit Anführungszeichen versehen, um Syntaxfehler beim einlesen zu vermeiden, wenn Variablen Leer- oder Sonderzeichen enthalten. Wenn man sicher ist, dass keine derartigen Variablennamen auftauchen, kann man die Anführungszeichen mittels SYNTAXVARNAMENOQUOTES = YES; SYNTAX ...; wieder ausschalten.

CSVInProtocol

Im Rahmen des Dateninputs in CSV-Format (CSVINFILE) können ein oder mehrere Datensätze eingelesen werden. Werden mehrere Dateien eingelesen, kann überwacht werden, welche Variablen aus welcher Datei gelesen werden.

Syntax:

CSVINPROTOCOL = <filename>;

Beispiel:

CSVINPROTOCOL = csvdoku.txt;

CSVINFILE = csv.csv;

CSVINFILE = csv2.csv;

 

Die ausgegebene Diagnose in csvdoku.txt lautet:

CSVINFILE = null.csv                         (n=6)
 

List of new variables:

testq1                                 Atom                         ALPHA

testq2                                 Atom                         ALPHA

testq4                                 Atom

testq5                                 Atom
 

List of known variables not in null.csv:
 

CSVINFILE = null_2.csv                 (n=6)
 

List of new variables:
 

List of known variables not in null_2.csv:
 

CSVINFILE = null0_m.csv                 (n=6)
 

List of new variables:
 

multi                                 MULTIQ
 

List of known variables not in null0_m.csv:
 

testq1

testq2

testq4
 

CSVINFILE = null0.csv                 (n=6)
 

List of new variables:
 

dicho                                 DICHOQ
 

List of known variables not in null0.csv:
 

testq1

testq2

testq4

multi

Spaltenfixierte Datensätze: DataErrorDocumentation

Siehe Anhang