0 votes
in SoSci Survey (dt.) by s068944 (400 points)
edited by SoSci Survey

Guten Morgen,

ich führe eine Tagebuchstudie durch, bei der die Teilnehmer unmittelbar nach dem Aufwachen eine erste Befragung ausfüllen und in Abhängigkeit der Zeit des Ausfüllens dieses ersten Fragebogens in festgelegten Zeitintervallen 5 weitere Befragungen im Laufe des Tages folgen. Ich möchte den Teilnehmern die Sache etwas erleichtern, indem ich ihnen am Ende der ersten Befragung des Tages automatisch anzeige, zu welchen Uhrzeiten sie mit den weiteren 5 Befragungen zu rechnen haben. Ich möchte also aus einer internen Variable (Zeitstempel) weitere Zeiten berechnen und diese als Uhrzeit im Fragebogen anzeigen lassen. Wie kann ich das machen?

Ich lasse mir den Zeitstempel einmal als Unix-Zeistempel ausgeben und einmal als "lesbares" Datum:

put('ZS01_01', date('w, d.m.Y H:i:s'));   //Zeitstempel mit Datumsangabe und Wochentag
put('ZS02_01', time());   //Unix-Zeitstempel

Die Zeiten sind wie folgt geschedult und die entsprechenden Zeiten würde ich den Teilnehmern gern im Voraus "verraten", sodass sie nicht so ganz überrascht sind und sich darauf einstellen können bzw. ihren Alltag etwas besser planen können:

mailSchedule(false, 2, 1680); //28 Min. Verzögerung
mailSchedule(false, 3, 2580); //43 Min. Verzögerung
mailSchedule(false, 4, 8880); //148 Min. Verzögerung
mailSchedule(false, 5, 28680); //478 Min. Verzögerung
mailSchedule(false, 6, 48480); //808 Min. Verzögerung

Ich freue mich auf Ihre Rückmeldung!

1 Answer

0 votes
by SoSci Survey (305k points)

Wenn Sie die Info-Mail direkt nach dem Ausfüllen des ersten Fragebogens vershcicken möchten, verwenden Sie bitte mailResume(). In diesem Befehl können Sie bis zu 5 Platzhalter verwenden, die dann in der E-Mail verwendet werden.

by s068944 (400 points)
Ich fürchte, ich habe mich falsch ausgedrückt - sorry! Ich möchte gern, dass die Infos (im Uhrzeit-Format) auf der letzten Fragebogenseite (oder halt auf der Vorletzten) angezeigt werden. Das könnte in etwa so aussehen:

Sehr geehrte Teilnehmerin, vielen Dank für Ihre Teilnahme an der ersten heutigen Befragung. Sie werden heute im Laufe des Tages noch 5 weitere Links mit Befragungen zugeschickt bekommen zu den folgenden Uhrzeiten:
[Zeitstempel + 28 Minuten]
[Zeitstempel + 43 Minuten]
[Zeitstempel + 148 Minuten]
[Zeitstempel + 478 Minuten]
[Zeitstempel + 808 Minuten]
by SoSci Survey (305k points)
edited by SoSci Survey
Also, wenn Sie damit leben können, dass es die vorletzte und nicht die letzte Seite ist, dann ist es einfach:

replace('%zeit1%', date('H:i', time() + 1680));
replace('%zeit2%', date('H:i', time() + 2580));

Die Zahlen am Ende sind die gleichen wie bei mailSchedule().

Wenn Sie das direkt unter das mailSchedule() schreiben und die Platzhalter dann am Ende im Text verwenden, müssen Sie sich auch um die Zwischenzeit keine Sorgen machen.

Warum nicht auf der letzten Seite? Prinzipiell geht auch das - aber nur solange der Teilnehmer die letzte Seite nicht neu-lädt. Denn mit Abschluss des Interviews werden die Platzhalter gelöscht.
by s068944 (400 points)
Vielen Dank für Ihre Rückmeldung.

1 Hinweis: nach dem zweiten %-Zeichen fehlt m.E.n. ein Strich oben

1 Frage: wie kann ich mich bei der Zeit-Berechnung auf meine Zeitvariable (ZS01_01 oder ZS02_01) beziehen? Ich möchte ja nicht einen zusätzlichen Zeitstempel auf der vorletzten Fragebogenseite generieren (der Zeitstempel wird als interne Variabel weiter vorn im Fragebogen erhoben) und auf diesen Zeitstempel sollen die auszugebenden Zeiten sich beziehen. Wie kann ich das machen? So z.B.?:
replace('%zeit1%', 'ZS02_01'('H:i', time() + 1680));
replace('%zeit2%', 'ZS02_01'('H:i', time() + 2580));

Ich habe übrigens gerade einen Testdurchlauf gemacht mit dem Beispiel oben und da wurde mir gar nichts angezeigt...(also die Seite wurde quasi übersprungen)
by SoSci Survey (305k points)
> wie kann ich mich bei der Zeit-Berechnung auf meine Zeitvariable (ZS01_01 oder ZS02_01) beziehen?

replace('%zeit1%', date('H:i', value('ZS02_02') + 1680));
replace('%zeit2%', date('H:i', value('ZS02_02') + 2580));

Dafür verwenden Sie einfach statt time() den abgespeicherten Zeitstempel (_02, nicht _01).

> mit dem Beispiel oben und da wurde mir gar nichts angezeigt...

Korrekt, der Code bereitet nun die Platzhalter vor. Damit Sie etwas sehen, müssen Sie einen Text schreiben, darin die Platzhalter verwenden und dann den Text auf eine Seite im Fragebogen ziehen.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...