Ok, also ich habe jetzt folgenden Code angepasst:
if ((value('SD08') == 4) || (value('SD08') == 5)) {
put('AB04_01', 4);
} else {
put('AB04_01', value('SD08'));
}
$quotaPosition = [
4 => 700
];
$Position = value('AB04_01');
$casesPosition = statistic('count', 'AB04_01', $Position);
if (!array_key_exists($Position, $quotaPosition)) {
redirect('
https://www.innofact-umfrage3.de/kim4/screenout_f.php?u=%reference%');
}
$maxPerPosition = $quotaPosition[$Position];
// Quotenstopp
if ($casesPosition >= $maxPerPosition) {
redirect('
https://www.innofact-umfrage3.de/kim4/quotafull_f.php?u=%reference%');
}
Die Frage SD08 ist Seite 4 des Fragebogens und hat 11 Kategorien. 1-3 sind Führungskräfte und dürfen den weiteren Fragebogen inklusive zusätzlicher Seiten für Führungskräfte beantworten. 4-5 sind Fachrkäfte und drürfen den Fragebogen ausfüllen für alle anderen Kategorien wird der Teilnehmer zu einer Seite mit dem Screenout weitergeleitet.
Der hier oben gezeigte Code ist die Quotierung, die so angelegt ist, dass nicht mehr als 700 Fachkräfte (4 oder 5 in SD08) in die Stichprobe eingehen.
Jetzt ergibt sich das Problem, dass auch Führungskräfte (1-3 in SD08) einen Screenout nach Abschluss von Seite 4 erhalten.
Dier Verfilterung von SD08 ist wie folgt und funktioniert in anderen gleichen Fragebögen ohne Quotierung:
4 aktive(r) Filter
Filter 1
Wenn eine der folgenden Antwortoption(en) ausgewählt wurde: 6, 7, 8, 9, 10, 11, -9
Dann nach dem Klick auf "Weiter" direkt zur Seite SO springen
Filter 2
Wenn eine der folgenden Antwortoption(en) ausgewählt wurde: 1, 2, 3
Dann Seite(n) jump1 des Fragebogens anzeigen (sonst ausblenden)
Filter 3
Wenn eine der folgenden Antwortoption(en) ausgewählt wurde: 1, 2, 3
Dann Seite(n) jump2 des Fragebogens anzeigen (sonst ausblenden)
Filter 4
Wenn eine der folgenden Antwortoption(en) ausgewählt wurde: 4, 5
Dann Seite(n) jump3 des Fragebogens ausblenden