Ich arbeite mit einem Panelprovider zusammen und nutze verbundene Quoten (Alter und Geschlecht). Allerdings zählen dabei auch die Fragebögen von abgewiesenen Teilnehmenden (per redirect() weitergeleitet), die aber ja nicht abgeschlossen wurden zur Quotenzählung hinzu. Wie kann ich sicherstellen, dass nur wirklich abgeschlossene Fälle in die Quotenzählung eingehen?
Der Code den ich verwende, lautet wie folgt:
// Geschlecht wird direkt ausgelesen
$gender = value('DG08');
// Das Alter wird umkodiert
$age = value('DG07_01');
if ($age >= 18 && $age <= 29) { $ageGroup = 1; // 18-29 Jahre
} elseif ($age >= 30 && $age <= 39) { $ageGroup = 2; // 30-39 Jahre
} elseif ($age >= 40 && $age <= 49) { $ageGroup = 3; // 40-49 Jahre
} elseif ($age >= 50 && $age <= 59) { $ageGroup = 4; // 50-59 Jahre
} elseif ($age >= 60 && $age <= 65) { $ageGroup = 5; // 60-65 Jahre
} else { $ageGroup = 6;
}
put('IV01_01', $ageGroup);
put('IV02_01', $gender);
// Definition einer Variable mit Altersgruppe und Geschlecht
// Aus z.B. 3 und 2 wird hier '3-2'
$demGroup = $ageGroup . '-' . $gender;
// Speichern der Gruppenzugehörigkeit in der internen Variable IV03_01
put('IV03_01', $demGroup);
// Definiere die Quoten für jede Altersgruppe und Geschlecht
$quota = [
'1-1' => 27, // Männer, 18-29 Jahre
'1-2' => 27, // Frauen, 18-29 Jahre
'2-1' => 27, // Männer, 30-39 Jahre
'2-2' => 3, // Frauen, 30-39 Jahre
'3-1' => 24, // Männer, 40-49 Jahre
'3-2' => 24, // Frauen, 40-49 Jahre
'4-1' => 32, // Männer, 50-59 Jahre
'4-2' => 32, // Frauen, 50-59 Jahre
'5-1' => 17, // Männer, 60-65 Jahre
'5-2' => 17 // Frauen, 60-65 Jahre
];
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'IV03_01', $demGroup);
// Auslesen der Quote für die demografische Gruppe
$maxPerGroup = $quota[$demGroup];
// Quotenstopp
if ($cases >= $maxPerGroup) {
redirect('Link');
}
Vielen Dank im Voraus!