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

0 votes

Hallo liebes Support-Team,

ich möchte eine Quotierung für jeweils 150 Personen aus 2 Altersgruppen erstellen.
Leider funktioniert dies nicht und ich finde den Fehler selbst nicht. Könnt ihr mir da weiterhelfen? Ich bin nach der Anleitung von Sosci vorgegangen.

in SoSci Survey (dt.) by s149968 (130 points)

1 Answer

0 votes

Wenn ich es richtig sehe, haben Sie die Redirects für Screenout und Completes auf derselben Seite.

Der Screenout müsste direkt nach Abfrage der Demografie erfolgen, der redirect für Completes (und evtl. die Umkodierung in interne Variablen) auf der vorletzten Seite des Fragebogens.

by SoSci Survey (130k points)
Vielen Dank für die schnelle Rückmeldung.
 
Ok, wenn ich den Complete Link nun raus mache wird mir allerdings ein Fehler angezeigt. Der Complete Link auf der vorletzten Seite ist drin.
Bzw. ist denn generell die Kodierung so richtig, wenn ich nur 2 Altersgruppen (18-27;50-75) mit n=150 befragen möchte und alle anderen ausgeschlossen werden sollen ?

Vielen Dank im Voraus
> Ok, wenn ich den Complete Link nun raus mache wird mir allerdings ein Fehler angezeigt.

Das ist gut, denn dieser liefert Hinweise, wwarum es nicht funktioniert.

Posten Sie doch bitte mal die Fehlermeldung im Wortlaut und die Debug-Information, welche auf der Seite angezeigt wird.
Da steht als Fehlermeldung auf der Seite 3 des Fragebogens, also nach der Demographie: Der Befehl put() kann nur in eine interne Variable speichern. Die Frage DE01 ist nicht vom Typ "Interne Variablen".

Debug-Informationen:
[Information]    Interview gestartet (neue Nummer 346)
[Information]    Der Fragebogen AgeVoice im Projekt voice2020 wird verwendet
[Verarbeitung]    Erstelle Seite 3 in Fragebogen AgeVoice
[Information]    value("DE01_01") = ""
[Information]    Statistik: Anzahl Antworten mit Wert 1 auf DE01_01: 0
[Information]    value("DE01_01") = ""
Das ist korrekt. Wenn Sie mit put() einen Wert im Datensatz ablegen möchten, müssen Sie dafür vorher eine interne Variable im Fragenkatalog anlegen:
https://www.soscisurvey.de/help/doku.php/de:create:functions:put

> value("DE01_01") = ""

Das deutet darauf hin, dass Sie den PHP-Code auf derselben Seite haben, auf welcher Sie auch die Dmeografie abfragen? Beachten Sie dazu bitte: https://www.soscisurvey.de/help/doku.php/de:create:filter-solving#top_1
Eine interne Variable habe ich nun angelegt mit der Kennung DE09, dafür habe ich eine neue Frage erstellt in der Demographie und den Fragetyp "interne Variable" gewählt. Die interne Variable habe ich in den PHP-Code für die Quotierung eingearbeitet.
Nur der PHP-Code(so wie in dem Screenshot) für die Quotierung steht auf einer Seite(3) allein nach der Seite (2) auf der Alter und Geschlecht abgefragt werden.
Aktuell werde ich bei ungültigen Eingaben dennoch nicht auf den Link weitergeleitet.
Debug Info ist:
Information]    Interview Nummer 365 wird fortgesetzt
[Information]    Der Fragebogen AgeVoice im Projekt voice2020 wird verwendet
[Information]    Die Verweildauer auf Seite 2 war 4 Sekunden
[Verarbeitung]    Lese Antworten von Seite 2
[Information]    Antwort auf DE01_01 = 12
[Information]    Antwort auf DE02 = 2
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 3 in Fragebogen AgeVoice
[Information]    value("DE01_01") = 12
[Information]    Statistik: Anzahl Antworten mit Wert 1 auf DE09_01: 0
[Information]    value("DE01_01") = 12
[Information]    Die interne Variable DE09_01 wird mit dem Wert 1 belegt.
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 4
[Verarbeitung]    Erstelle Seite 4 in Fragebogen AgeVoice
[Inhalt]    Erstelle Frage DE03
[Inhalt]    Erstelle Frage DE04
> Aktuell werde ich bei ungültigen Eingaben dennoch nicht auf den Link weitergeleitet.

Sie haben oben geschrieben, dass Sie das redirect() entfernt haben. Ist das noch der Fall?

Ich empfehle für die Fehlersuche folgendes: Ersetzen Sie redirect('URL') wie folgt:

// redirect('URL')
debug('URL');
pageStop();
...