Bei der vorherigen Ausgabe habe ich vergessen den Screenout und Pagestopp auszukommentieren. Wenn ich die html()-Befehle wieder einfüge, erhalte ich wieder den Redirect Screenout mit den folgenden Debug-Informationen:
[Information] Interview Nummer 451 wird fortgesetzt
[Information] Der Fragebogen base im Projekt milkalternatives wird verwendet
[Information] Die Verweildauer auf Seite 3 war 12 Sekunden
[Verarbeitung] Lese Antworten von Seite 3
[Information] Antwort auf SD01 = 1
[Information] Keine Antwort für SD01_04
[Information] Antwort auf SD02_01 = 23
[Information] Antwort auf SD03 = 3
[Information] Keine Antwort für SD03_06
[Information] Antwort auf SD04 = 5
[Information] Keine Antwort für SD04_10
[Information] Antwort auf SD05 = 2
[Information] Antwort auf SD06 = 3
[Information] Antwort auf SD07 = 2
[Information] Keine Antwort für SD07_04
[Information] Bedingung in Filter SD07/1 ist nicht erfüllt.
[Information] Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung] Erstelle Seite 4 in Fragebogen base
[Information] value("SD01") = 1
[Information] value("SD05") = 2
[Information] value("SD02_01") = 23
[Information] value("SD03") = 3
debug() Inhalt: $gender = 1 (string)
debug() Inhalt: $region = 2 (string)
debug() Inhalt: $ageGroup = 2 (integer)
debug() Inhalt: $educationGroup = 1 (integer)
[Inhalt] Die Verarbeitung der Seite wurde durch pageStop() beendet
PHP-Code
$quotaAge = [
1 => 380, // 380 Personen in Altersgruppe 1 (18-22 Jahre)
2 => 380, // 380 Personen in Altersgruppe 2 (23-26 Jahre)
];
$quotaGender = [
1 => 380, // 380 Frauen (Code 1)
2 => 380 // 380 Männer (Code 2)
];
$quotaEducation = [
1 => 494, // 494 Personen in Bildungsgruppe 1 (Kein, Haupt- und Mittlerer Schulabschluss)
2 => 380 // 380 Personen in Bildungsgruppe 2 (Fachhochschul- oder Hochschulreife)
];
$quotaRegion = [
1 => 167, // 167 aus NRW (Code 10)
2 => 121, // 121 aus BAY (Code 2)
3 => 106, // 106 aus BAWÜ (Code 1)
4 => 76, // 76 aus NDS (Code 9)
5 => 61, // 61 aus HS Männer (Code 7)
6 => 38, // 38 aus RLP (Code 11)
7 => 34, // 34 aus SACH (Code 14)
8 => 34, // 34 aus BER (Code 3)
9 => 27, // 27 aus SH (Code 15)
10 => 15, // 15 aus BB (Code 4)
11 => 15, // 15 aus SA (Code 13)
12 => 15, // 15 aus TH (Code 2)
13 => 19, // 19 aus HH (Code 6)
14 => 15, // 15 aus MV (Code 8)
15 => 8, // 8 aus SL (Code 12)
16 => 8, // 8 aus BRE (Code 5)
];
// Gender wird direkt ausgelesen
$gender = value('SD01');
// Region wird direkt ausgelesen
$region = value('SD05');
// Das Alter wird umkodiert
$age = value('SD02_01');
if ($age <= 22) {
$ageGroup = 1;
} else {
$ageGroup = 2;
}
// Die Education wird umkodiert
$education = value('SD03');
if ($education <= 4) {
$educationGroup = 1;
} elseif ($education = 5) {
$educationGroup = 2;
} else {
$educationGroup = 3;
}
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$casesAge = statistic('count', 'SD10_01', $ageGroup);
$casesGender = statistic('count', 'SD09_01', $gender);
$casesEducation = statistic('count', 'SD11_01', $educationGroup);
$casesRegion = statistic('count', 'SD12_01', $region);
debug($gender);
debug($region);
debug($ageGroup);
debug($educationGroup);
// Screenout
if (!array_key_exists($ageGroup, $quotaAge) || !array_key_exists($gender, $quotaGender) || !array_key_exists($educationGroup, $quotaEducation) || !array_key_exists($region, $quotaRegion)) {
redirect('
https://survey.maximiles.com/screenout?p=128822_07358555&m=%SPM_PANELIST_ID%');
}
html('<p>Redirect Screenout</p>');
pageStop();
// Auslesen der Quoten für die angegeben Merkmale
$maxPerAge = $quotaAge[$ageGroup];
$maxPerGender = $quotaGender[$gender];
$maxPerEducation = $quotaEducation[$educationGroup];
$maxPerRegion = $quotaRegion[$region];
// Quotenstopp
if (($casesAge >= $maxPerAge) || ($casesGender >= $maxPerGender) || ($casesEducation >= $maxPerEducation)|| ($casesRegion >= $maxPerRegion)) {
// redirect('
https://survey.maximiles.com/quotasfull?p=128822_5898d2e3&m=%SPM_PANELIST_ID%');
}
html('<p>Redirect ausgelöst</p>');
pageStop();