Der Code sieht auf den ersten Blick korrekt aus - abgesehen von einer Sache: Mit dem redirect()
werden auch Screenouts als abgeschlossene Fragebögen gerechnet. Wenn Sie das umgehen möchten, legen Sie eine interne Variable (z.B. QT01_01) an und setzen Sie auf die vorletzte Seite im Fragebogen folgenden PHP-Code:
$ageGrp = value('SD02');
$gender = value('SD01');
$demID = $gender.'-'.$ageGrp;
put('QT01_01', $demID);
Damit wird die Variable QT01_01 nur bei den Fällen gesetzt (und später gezählt), die für Sie auch wirklich relevant sind. Wenn Sie mit einem Panel arbeiten, können Sie direkt darunter das Redirect zum Panel setzen.
Vorne ersetzen Sie das $n = statistic(...
wie folgt:
$n = statistic('count', 'QT01_01', $demID);
Zum Testen setzen Sie darunter noch
debug($demID);
debug($n);
debug($limits[$demID]);
Testen Sie dann ein paar mal im Debug-Modus (gelber Pfeil) - dort können Sie nach dem Screenout-Filter ja auch bequem zur vorletzten Seite mit dem put() springen, um nicht den kompletten Fragebogen beantworten zu müssen.
Hinweis: Fragebögen, die im Debug-Modus ausgefüllt wurden, werden von statistic()
auch nur im Debug-Modus gezählt.