Ich lege zum ersten Mal eine verbundene Quotierung an und habe mich dabei an den auf der Support-Seite vorhandenen Code orientiert:
nach der Seite zu Alter und Geschlecht steht nun:
$quota = [
'2-1' => 51, '2-2' => 51, // 51 Personen pro Geschlecht für die Altersgruppe 2
'3-1' => 47, '3-2' => 47, // 47 Personen pro Geschlecht für die Altersgruppe 3
'4-1' => 46, '4-2' => 46, // 46 Personen pro Geschlecht für die Altersgruppe 4
'5-1' => 59, '5-2' => 59, // 59 Personen pro Geschlecht für die Altersgruppe 5
'6-1' => 45, '6-2' => 45 // 45 Personen pro Geschlecht für die Altersgruppe 6
];
// Geschlecht wird direkt ausgelesen
$gender = value('SD01');
// Das Alter wird umkodiert
$age = value('SD02_01');
if ($age < 18) {
$ageGroup = 1;
} elseif ($age <= 29) {
$ageGroup = 2;
} elseif ($age <= 39) {
$ageGroup = 3;
} elseif ($age <= 49) {
$ageGroup = 4;
} elseif ($age <= 59) {
$ageGroup = 5;
} elseif ($age <= 69) {
$ageGroup = 6;
} else {
$ageGroup = 7;
}
// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 3 und 2 wird hier '3-2'
$demGroup = $ageGroup.'-'.$gender;
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'IV02_01', $demGroup);
// Screenout
if (!array_key_exists($demGroup, $quota)) {
redirect('xy');
}
// Auslesen der Quote für die demografische Gruppe
$maxPerGroup = $quota[$demGroup];
// Quotenstopp
if ($cases >= $maxPerGroup) {
redirect('xy');
}
auf der vorletzten Seite habe ich folgendes stehen:
// Geschlecht wird direkt ausgelesen
$gender = value('SD01');
// Das Alter wird umkodiert
$age = value('SD02_01');
if ($age < 18) {
$ageGroup = 1;
} elseif ($age <= 29) {
$ageGroup = 2;
} elseif ($age <= 39) {
$ageGroup = 3;
} elseif ($age <= 49) {
$ageGroup = 4;
} elseif ($age <= 59) {
$ageGroup = 5;
} elseif ($age <= 69) {
$ageGroup = 6;
} else {
$ageGroup = 7;
}
// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 3 und 2 wird hier '3-2'
$demGroup = $ageGroup.'-'.$gender;
// Speichern der Gruppenzugehörigkeit in der internen Variable IV02_01
put('IV02_01', $demGroup);
// Complete-Redirect
redirect('xy');
In den Daten steht nun bei der Internen Varaibel IV02_01 in der Excel z.B. "1.04.2020" --> muss ich bei der internen Variable 2-1, 2-2, etc. hinterlegen und wenn ja wie, oder wo ist der Fehler?
Vielen Dank!