Kapitel 9. Interne Variablen

Inhaltsverzeichnis

Datum und Uhrzeit
Weitere Variablen
Laufzeitumgebung
Externe URL-Parameter
Exit-Code (_finished)
Befragten- und Fallnummer (_respid und _caseid)
Abbruchcode (_cancel)
Wiederaufnahme nach Abbruch (_resume)
Export interner Variablen

Datum und Uhrzeit

Es stehen mehrere Variablen zur Verfügung, die es ermöglichen, mit Uhrzeiten (HHMMSS), Daten (YYYYMMDD) und sonstigen Zeiten zu arbeiten:

  • _currentdate: aktuelles Datum

  • _currentmillis: aktuelle Serverzeit in Millisekunden seit Start der Unix-Zeit am 1. Januar 1970 00:00 Uhr UTC (the Epoch)

  • _currenttime: aktuelle Uhrzeit

  • _duration: Dauer des Interviews in ms (inkl. Unterbrechungszeiten)

  • _finishdate: Datum des Interviewendes

  • _finishtime: Uhrzeit des Interviewendes

  • _startdate: Datum des Interviewstarts

  • _startdayofweek: Wochentag des Interviewstarts (1=So - 7=Sa)

  • _starttime: Uhrzeit des Interviewstarts

Weitere Variablen

Neben Zeiten gibt noch eine Reihe weiterer interner Variablen.

  • _revision: Aktuelle Revision von Q.

  • _surveyname: Name der Studie

  • template1: TextElement zur Ausgabe im Template mittels @tt1. Es bleibt bei Abbruch/Wiederaufnahme erhalten.

    template2: ... @tt2

    bis

    template8: ... @tt8

  • _breakcount: Anzahl der Unterbrechungen des Interviews

  • _currentScreen: Der Variablenname des aktuell in Bearbeitung befindlichen Screens.

  • _idmode: [ t | s | m ], je nachdem ob das Interview im Testmode, im Singlemode (eine ID pro Befragten) oder im Multimode (eine ID für mehrere Befragte) geführt wird.

  • _missing: Der Wert, der für _missing eingestellt wurde.

  • _randomid: Eine zufällige Zeichenkette, mit der das Interview eindeutig gekennzeichnet wird.

Laufzeitumgebung

Die Variablen geben Aufschluss darüber, in welcher Umgebung, also Betriebssystem und Browser, das Interview gelaufen ist. Das kann bei der Fehlersuche hilfreich sein, wenn es z.B. zu abweichenden Darstellungen in verschiedenen Browsern kommt.

  • _useragent: Speichert die useragent-Angabe des Browsers, mit der sich das Programm gegenüber einem Server ausweist, z.B.

    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
    	  

  • _browser: Nummerischer Code, mit dem der Browser identifiziert wird. Gewonnen wird die Information aus der _useragent-Angabe, die leider höchst unsystematisch ausfällt.

  • _os: Nummerischer Code, mit dem das Betriebssytem identifiziert wird. Gewonnen wird die Information aus der _useragent-Angabe, die leider höchst unsystematisch ausfällt.

Externe URL-Parameter

Bei einer Onlinebefragung können Parameter mit der URL-Zeile übergeben werden. Speziell dafür hält Q. eine Reihe von sogenannten externen Variablen bereit. Sie tragen die Namen ext1 bis ext20 und können sowohl Zahlen als auch Text enthalten.

Um der Variablen ext1 den Wert 9 und der Variablen ext2 den Wert 5 mit Beginn des Interviews zuzuweisen, würde die URL-Zeile bzw. der Einladungslink so aussehen: http://www.meinserver.de/SurveyServlet?action=startsurvey&survey=meineStudie&respid=RESPID;&ext1=9&ext2=5

Exit-Code (_finished)

Die Variable _finished enthält nach Ende des Interviews den Statuscode, mit dem das Interview beendet wurde. Bei vollständig abgeschlossenen Interviews wäre das in der Voreinstellung der Wert 1, aber der Code kann, etwa bei Abbrüchen nach Plausibilitätsprüfungen mit exit, auch anders belegt werden.

Es kann wünschenswert sein, _finished explizit einen Wert zuzuweisen, entweder um eine URL-Weiterleitung am Interview-Ende einzurichten (siehe hierzu Kapitel 13, Automatisches Weiterleiten am Interviewende) oder für statistische Auswertungen.

Die Variable kann auch manuell mit dem Action-Befehl set belegt werden, etwa in einem cmplActionBlock.

Befragten- und Fallnummer (_respid und _caseid)

Jeder Befragte hat sowohl eine ID-Nummer als auch eine Fallnummer. Die Fallnummer ist immer personenspezifisch und eindeutig, die ID-Nummer muss es nicht zwangsläufig sein (z.B. bei Testinterviews oder unspezifischen onsite-Popup-Umfragen). Die Fallnummer wird aus der ID-Nummer, kombiniert mit einem Zähler, generiert. Die ID-Nummer wird dabei in der Variablen _respid gespeichert, die Fallnummer in der Variablen _caseid. Für die _respid dürfen nur alphanumerische Zeichen verwendet werden (a-z A-Z 0-9).

Mit der _caseid führt Q. Buch über die verschiedenen Fälle und zählt für jedes begonnene Interview den Zähler hoch. Ausgangspunkt ist der Eintrag in der Datei lfdcount.lst. Q. liest den Stand aus der Datei ein und schreibt ihn aktualisiert zurück.

Um einen Link auf ein spezielles Interview anbieten zu können (etwa zum Download für die Befragten), legt Q. die _caseid zusätzlich verschlüsselt als _encryptedcaseid im Datensatz ab. Mit der Variablen lässt sich z.B. am Ende des Interviews ein Link generieren, der einen Export des ausgefüllten Bogens über den Robot anstößt. (Ein Beispiel dafür bietet „Robot: Automatisches Ausfüllen“.)

Abbruchcode (_cancel)

Es ist möglich, einen Abbruch-Button zum Abbrechen des Interviews einzubauen. Zusätzlich zu diesem Button kann ein Auswahlmenü (ListBox) angezeigt werden, aus dem ein Grund für den Abbruch (oder eine auf den Abbruch folgende Aktion usw.) ausgewählt werden kann. Der Abbruch-Button wird aktiviert mit:

HTML { cancelButton=yes };
    

Das Auswahlmenü wird automatisch angezeigt, sofern es definiert wurde. Die Menüeinträge lassen sich in dieser Form konfigurieren:

      HTML { cancelMenu=("Eintrag" "Eintrag" "Eintrag" ...) };
    

Zusätzlich gibt es einen default-Eintrag, der »keine Auswahl« repräsentiert; dieser wird angegeben mit:

HTML { cancelMenuDefault = "--- bitte auswählen---"; };
    

Wenn beim Klick auf den Abbruch-Button keine Menüauswahl erfolgt ist, wird eine Fehlermeldung angezeigt; diese wird definiert mit:

HTML { cancelMenuErrorMsg = "Bitte Auswahl treffen!" };
    

Wenn ein Interview durch Klick auf den Abbruch-Button beendet wird, erhält die Variable _cancel den Index des ausgewählten Menüpunktes als Wert, beginnend mit 1.

Wiederaufnahme nach Abbruch (_resume)

Im Regelfall gilt ein Interview, das mit expliziten Aktionen (vollständig durchgeführt, assert...exit, Klick auf Abbruch-Button) abgeschlossen wird, als »beendet«. Dagegen gilt ein Interview, das durch einen Timeout beendet wird (wegen zu langer Inaktivität), als »abgebrochen«. Im Unterschied zu einem beendeten Interview kann ein abgebrochenes fortgesetzt werden. (Es kann auch dann fortgesetzt werden, wenn die Studie bereits deaktiviert wurde, also keine neuen Interviews mehr zugelassen werden.)

Unter bestimmten Bedingungen wäre es wünschenswert, auch ein abgeschlossenes Interview fortzusetzen. Z.B. wenn ein Interview im Rahmen einer telefonischen Umfrage über den Abbruch-Button nur unterbrochen und ein Termin zur Fortsetzung vereinbart wurde. Über die interne Variable _resume lässt sich steuern, welche Art von Datensatz (mit der Möglichkeit zur Wiederaufnahme oder ohne) angelegt wird. Hat _resume den Wert 0, wird das Interview als abgeschlossen betrachtet und kann nicht fortgesetzt werden. Hat _resume den Wert 1, wird das Interview als abgebrochen betrachtet und kann fortgesetzt werden.

Diese Variable wird von den entsprechenden Aktionen automatisch mit dem richtigen Wert belegt, kann jedoch auch manuell gesetzt werden.

Export interner Variablen

Q. übernimmt automatisch eine Reihe interner Variablen bis hin zur Tabellierung und schreibt sie auch in die SPSS-Datei. Für den Export ergänzt Q. den Variablennamen um ein vorangestelltes sys:

  • sys_browser

  • sys_caseid

  • sys_currentScreen

  • sys_duration

  • sys_finishdate

  • sys_finished

  • sys_finishtime

  • sys_os

  • sys_respid

  • sys_startdate

  • sys_starttime