Bei der Quotierung nach Geschlecht, Alter, Bildung und Wahlverhalten bekomme ich Fehlermeldungen.
Folgende PHP-Codes habe ich nach der Quotierung auf einer separaten Seite eingefügt:
Interne Variablen für die 4 Merkmale wurden erstellt.
PHP-Code 1:
$quotaAge = [
1 => 120, // 120 Personen in Altersgruppe 1 (18-29 Jahre)
2 => 95, // 95 Personen in Altersgruppe 2 (30-39 Jahre)
3 => 100, // 100 Personen in Altersgruppe 3 (40-49 Jahre)
4 => 110, // 110 Personen in Altersgruppe 4 (50-64 Jahre)
5 => 75 // 75 Personen in Altersgruppe 5 (65-75 Jahre)
];
$quotaGender = [
1 => 250, // 250 Frauen (Code 1)
2 => 250 // 250 Männer (Code 2)
];
$quotaPolOrient = [
3 => 140, // 140 FPÖ (Code 3)
2 => 115, // 115 SPÖ (Code 2)
1 => 110, // 110 ÖVP (Code 1)
4 => 53, // 53 Die Grünen (Code 4)
5 => 48, // 48 Neos (Code 5)
6 => 35 // Andere (Code 6)
];
$quotaEducation = [
1 => 85, // 85 Geringe Bildung (Code 1)
2 => 113, // 113 Lehre (Code 2)
3 => 120, // 120 BMS (Code 3)
4 => 100, // 100 AHS/BHS (Code 4)
5 => 80 // 80 Hochschule (Code 5)
];
PHP-Code 2:
// Geschlecht wird direkt ausgelesen
$Gender = value('B002');
// Bildung wird direkt ausgelesen
$Education = value('B003');
// PolOrient wird direkt ausgelesen
$PolOrient = value('B006');
// Das Alter wird umkodiert
$Age = value('B004');
if ($Age < 18) {
$AgeGroup = 1;
} elseif ($Age <= 30) {
$AgeGroup = 2;
} elseif ($Age <= 40) {
$AgeGroup = 3;
} elseif ($Age <= 50) {
$AgeGroup = 4;
} elseif ($Age <= 65) {
$AgeGroup = 5;
}
PHP Code 3:
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$casesAge = statistic('count', 'B010_01', $AgeGroup);
$casesGender = statistic('count', 'B008_01', $Gender);
$casesEducation = statistic('count', 'B009_01', $Education);
$casesPolOrient = statistic('count', 'B011_01', $PolOrient);
// Screenout
if (!array_key_exists($AgeGroup, $quotaAge) || !array_key_exists($Gender, $quotaGender) || !array_key_exists($Education, $quotaEducation) || !array_key_exists($PolOrient, $quotaPolOrient)) {
redirect('https://survey.maximiles.com/quotasfull?p=110989_82167f6e&m=%reference%');
}
// Auslesen der Quoten für die angegeben Merkmale
$maxPerAge = $quotaAge[$AgeGroup];
$maxPerGender = $quotaGender[$Gender];
$maxPerEducation = $quotaEducation[$Education];
$maxPerPolOrient = $quotaPolOrient[$PolOrient];
// Quotenstopp
if (($casesAge >= $maxPerAge) || ($casesGender >= $maxPerGender) || ($casesEducation >= $maxPerEducation) || ($casesPolOrient >= $maxPerPolOrient)) {
redirect('https://survey.maximiles.com/quotasfull?p=110989_cc99914b&m=%reference%');
}
Und hier die Fehlermeldung: