Hallo,
ich habe eine Frage zu einer Quotierung meines Fragebogens. Das Ziel ist es drei Regionen (drei Gruppen mit ca. 100 Postleitzahlen) mit Quoten zu Altersverteilung, Geschlechterverhältnis und Bildungsgrad zu verbinden.
Region 1 (100 Postleitzahlen)
Männlich / Weiblich
18-25 / 26-30 / 31-50 / 51-65
Ohne Studium / Mit Studium
Region 2 (100 Postleitzahlen)
Männlich / Weiblich
18-25 / 26-30 / 31-50 / 51-65
Ohne Studium / Mit Studium
Region 3 (100 Postleitzahlen)
Männlich / Weiblich
18-25 / 26-30 / 31-50 / 51-65
Ohne Studium / Mit Studium
Ich bin mir nicht sicher ob der folgende PHP Code richtig ist. Kann mir jemand hierbei helfen?
Vielen Dank im Vorraus :)
CODE
$quota = [
'1-1' => 100, '1-2' => 100, // Personen pro Geschlecht für die Regionengruppe 1
'1-3' => 100, '1-4' => 100, // Personen pro Bildungsabschluss für die Regionengruppe 1
'1-5' => 100, '1-6' => 100, // Personen pro Altersgruppe für die Regionengruppe 1
'1-7' => 100, '1-8' => 100, // Personen pro Altersgruppe für die Regionengruppe 1
'2-1' => 100, '2-2' => 100, // Personen pro Geschlecht für die Regionengruppe 2
'2-3' => 100, '2-4' => 100, // Personen pro Bildungsabschluss für die Regionengruppe 2
'2-5' => 100, '2-6' => 100, // Personen pro Altersgruppe für die Regionengruppe 2
'2-7' => 100, '2-8' => 100, // Personen pro Altersgruppe für die Regionengruppe 2
'3-1' => 100, '3-2' => 100, // Personen pro Geschlecht für die Regionengruppe 3
'3-3' => 100, '3-4' => 100, // Personen pro Bildungsabschluss für die Regionengruppe 3
'3-5' => 100, '3-6' => 100, // Personen pro Altersgruppe für die Regionengruppe 3
'3-7' => 100, '3-8' => 100, // Personen pro Altersgruppe für die Regionengruppe 3
];
//Geschlecht wird direkt ausgelesen
$gender = value('QU03');
//Bildung wird umkodiert
$education = value('QU01');
if ($education = 'QU01_1' ||
$education = 'QU01_2' ||
$education = 'QU01_3' ||
$education = 'QU01_4' ||
$education = 'QU01_8' ||) {
$educationGroup = 3;
} else {
$educationGroup = 4;
}
//Alter wird kodiert
$age = value('QU01');
if ($age = 'QU01_1' ||
$age = 'QU01_2' ||
$age = 'QU01_3' ||
$age = 'QU01_8' ||) {
$ageGroup = 5;
} elseif ($age = 'QU01_1' ||
$age = 'QU01_2' ||
$age = 'QU01_3' ||
$age = 'QU01_8' ||){
$ageGroup = 6;
} elseif ($age = 'QU01_1' ||
$age = 'QU01_2' ||
$age = 'QU01_3' ||
$age = 'QU01_8' ||){
$ageGroup = 7;
} elseif ($age = 'QU01_1' ||
$age = 'QU01_2' ||
$age = 'QU01_3' ||
$age = 'QU01_8' ||){
$ageGroup = 8;
}
//Gruppen werden kodiert
$region = value('RI09');
if ($region = 20038 ||
$region = 20088 ||
$region = 20095 ||
$region = 20097 ||
$region = 20144 ||) {
$regionGroup = 1;
} elseif ($region = 41812 ||
$region = 41836 ||
$region = 41844 ||
$region = 41849 ||
$region = 52062 ||) {
$regionGroup = 2;
} elseif ($region = 01945 ||
$region = 01968 ||
$region = 01979 ||
$region = 01983 ||
$region = 01990 ||) {
$regionGroup = 3;
}
// Definition einer Variable mit Region und Geschlecht
$demRegionGender = $regionGroup.'-'.$gender;
$demRegionAge = $regionGroup.'-'.$age;
$demRegionEducation = $regionGroup.'-'.$education;
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'SD04_01', $demRegionGender);
$cases = statistic('count', 'SD04_01', $demRegionAge);
$cases = statistic('count', 'SD04_01', $demRegionEducation;
// Screenout
if (!array_key_exists($demRegionGender, $quota)) {
redirect('https://www.panelanbieter.de/?xyz=screenoutGHIJKI&uid=%reference%');
}
if (!array_key_exists($demRegionAge, $quota)) {
redirect('https://www.panelanbieter.de/?xyz=screenoutGHIJKI&uid=%reference%');
}
if (!array_key_exists($demRegionEducation, $quota)) {
redirect('https://www.panelanbieter.de/?xyz=screenoutGHIJKI&uid=%reference%');
}
// Auslesen der Quote für die demografische Gruppe
$maxPerGroupGender = $quota[$demRegionGender];
$maxPerGroupAge = $quota[$demRegionAge];
$maxPerGroupEducation = $quota[$demRegionEducation];
// Quotenstopp
if ($cases >= $maxPerGroupGender) {
redirect('https://www.panelanbieter.de/?xyz=quotaABCDEF&uid=%reference%');
}
if ($cases >= $maxPerGroupAge) {
redirect('https://www.panelanbieter.de/?xyz=quotaABCDEF&uid=%reference%');
}
if ($cases >= $maxPerGroupEducation) {
redirect('https://www.panelanbieter.de/?xyz=quotaABCDEF&uid=%reference%');
}