Ich bin gerade dabei, die Quotierung für 3 Variablen (Alter, Geschlecht, Kaufhäufigkeit) zu programmieren. Das scheint soweit zu funktionieren, allerdings werden mit der Funktion statistic keine Fälle gezählt. Ich bin den Code mehrfach durchgegangen und mir fällt der Fehler nicht auf. Die interne Variable ist definiert und die Kennung stimmt auch. Der PHP-Code ist auf der Seite nach der letzten relevanten Frage platziert.
// Definition der Quoten
$quotaAge=[
2=>520,//400 - maximal 520 in Altersgruppe 2 (18-44-Jaehrige)
3=>400//280 - maximal 400 in Altersgruppe 3 (45-70-Jaehrige)
];
$quotaGender=[
1=>520,//400 - maximal 520 Frauen (Code 1)
2=>400//280 - maximal 400 Männer (Code 2)
];
$quotaBio=[
1=>112,//112 in nie/selten
2=>344,//344 in gelegentlich/regelmäßig
3=>344//344 in häufig/ausschließlich
];
// Merkmale auslesen und umkodieren
// Geschlecht wird direkt ausgelesen
$gender=value('A201');
// Das Alter wird umkodiert.
$age=value('A202_01');
if($age<18){
$ageGroup=1;
}elseif($age<=44){
$ageGroup=2;
}elseif($age<=70){
$ageGroup=3;
}else{
$ageGroup=4;
}
// Die Biokaufhäufigkeit wird umkodiert.
$bio=value('A203');
if($bio<=2){
$bioGroup=1;
}elseif($bio<=4){
$bioGroup=2;
}else{
$bioGroup=3;
}
// Zählung der vorliegenden Fälle
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$casesAge=statistic('count','A105_01',$ageGroup);
$casesGender=statistic('count','A105_02',$gender);
$casesBio=statistic('count','A105_03',$bioGroup);
// Screenout
if(!array_key_exists($ageGroup, $quotaAge)){
redirect('https://dkr1.ssisurveys.com/projects/end?rst=2&psid=%psid%');
}
// Auslesen der Quoten für die angegeben Merkmale
$maxPerAge=$quotaAge[$ageGroup];
$maxPerGender=$quotaGender[$gender];
$maxPerBio=$quotaBio[$bioGroup];
// Zusätzliche Informationen anzeigen
debug($casesAge);
debug($maxPerAge);
debug($casesGender);
debug($maxPerGender);
debug($casesBio);
debug($maxPerBio);
// Zusätzliche Informationen anzeigen
debug($ageGroup);
debug($quotaAge);
debug($maxPerAge);
debug($gender);
debug($quotaGender);
debug($maxPerGender);
debug($bioGroup);
debug($quotaBio);
debug($maxPerBio);
// Quotenstopp
if(($casesAge>=$maxPerAge)||
($casesGender>=$maxPerGender)||
($casesBio>=$maxPerBio)){
//redirect('https://dkr1.ssisurveys.com/projects/end?rst=3&psid=%psid%');
html('<p>Redirect ausgelöst<p>');
pageStop();
}
Das ist sind die Informationen aus der Debug-Funktion:
Vielleicht finden Sie den Fehler? Ich bin für jede Hilfe dankbar.