Liebes Socisurvey-Supportteam,
bei der Rekruitierung von Probanden meiner Umfrage unterstützt ein externen Anbieter (Respondi). Ich habe mir Ihre Anleitung zum Arbeiten mit externen Anbietern mehrmals durchgelesen, aber ich bin mir nicht sicher, ob meine Programierungen zu Screenout, Quotenstop und Exit-Link so stimmen. Beim Test des Fragebogens erscheint direkt nach der ersten Seite eine Respondi-Fehlermeldung ("Der Befragungslink ist leider fehlerhaft"):
Screenout:
An meiner Umfrage sollen Personen unter 18 und über 60 Jahren ausgschlossen werden und Personen, die kein Fleisch essen.
Zunächst zum Fleischkonsum:
Hier habe ich folgenden PHP Code vor die Variable (MT02_n), die den Fleischkonsum codiert (8= kein Fleischkonsum), gesetzt:
$eat = value('MT02_n');
// Screenout
if ($eat == 8) {
redirect('https://mingle.respondi.com/s/1183166/ospe.php3?c_0002=0&return_tic=%reference%');
}
Stimmt das "%reference%" an der Stelle? Respondi übermittelte mir folgenden Link: 'https://mingle.respondi.com/s/1183166/ospe.php3?c_0002=0&return_tic=[UnserTicket]
Fällt sonst ein Fehler auf?
Das Screenout für das Alter (SD03_01) habe ich mit den Quotenstops in PHP-Codes zusammengefasst. Zu erst wurde das Alter in eine ordinale Variable umkodiert und in $agegrp gespeichert. Dann erfolgt der Screenout bei Probanden, die zu den age-Gruppen < 2 und > 5:gehören.
Anschließend erfolgt die Programmierung des Quotenstops mit verbundenen Quoten für die Merkmale Alter (4 Gruppen) und Geschlecht (3 Gruppen):
$age = (int)value('SD03_01');
// Umkodieren
if ($age < 18) {
$ageGrp = 1;
} elseif ($age <= 29) {
$ageGrp = 2;
} elseif ($age <= 39) {
$ageGrp = 3;
} elseif ($age <= 49) {
$ageGrp = 4;
} elseif ($age <= 60) {
$ageGrp = 5;
} else {
$ageGrp = 6;
}
// Im Datensatz speichern
put('SD20_01', $ageGrp);
// Merkmale auslesen
$ageGrp = value('SD20_01');
$gender = value('SD01');
// Evtl. Screenout
if (($ageGrp < 2) or ($ageGrp > 5) or ($gender < 1)) {
redirect('https://mingle.respondi.com/s/1183166/ospe.php3?c_0002=0&return_tic=[UnserTicket]');
}
// Kennung für die demografische Zelle erstellen
$demID = $ageGrp.'-'.$gender;
// Obergrenzen definieren
$limits = array(
'2-1' => 90,
'2-2' => 83,
'2-3' => 100,
'3-1' => 78,
'3-2' => 75,
'3-3' => 100,
'4-1' => 83,
'4-2' => 81,
'4-3' => 100,
'5-1' => 106,
'5-2' => 106,
'5-3' => 100
);
// Abgeschlossene Fragebögen zählen
$n = statistic('crosscount', array('SD20_01', 'SD01'), array($ageGrp, $gender));
// Quoten prüfen
if ($n > $limits[$demID]) {
redirect('https://mingle.respondi.com/s/1183166/ospe.php3?c_0002=2&return_tic=[UnserTicket]');
}
Den Complete-Link habe ich auf die vorletzte Seite gelegt:
redirect('https://mingle.respondi.com/s/1183166/ospe.php3?c_0002=1&return_tic=%reference%');
Ich wäre Ihnen sehr, sehr dankbar, wenn Sie die PHP-Codes mal prüfen könnten. Ich rätsele schon eine ganze Weile und komme nicht weiter.
Gibt es eine andere Möglichkeit die Erfüllung der Quoten der vollständig abgeschlossenen Befragungen während der Befragung zu prüfen (außer über Export des vollständigen Datensatzes)?
Herzlichen Dank für Ihre Unterstützung im Voraus & viele Grüße