Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Ich möchte für meinen Fragebogen Quoten erstellen, Alter in Verbindung mit Geschlecht. z.B. 37 Personen pro Geschlecht für Altersgruppe 1. Ich habe insgesamt 6 Altersgruppen und 2 Geschlechter die ich abfrage. Habe meinen Code geschrieben und im DebugModus ausprobiert, bekommen jedoch einen 404:

$quota = [
  '1-1' => 37, '1-2' => 37,  // 37 Personen pro Geschlecht für die Altersgruppe 1
  '2-1' => 16, '2-2' => 16,  // 16 Personen pro Geschlecht für die Altersgruppe 2  
  '3-1' => 30, '3-2' => 30,  // 30 Personen pro Geschlecht für die Altersgruppe 3
  '4-1' => 30, '4-2' => 30,  // 30 Personen pro Geschlecht für die Altersgruppe 4
  '5-1' => 42, '5-2' => 42,  // 42 Personen pro Geschlecht für die Altersgruppe 5
  '6-1' => 38,  '6-2' => 38    //  38 Personen pro Geschlecht für die Altersgruppe 6
];
// Geschlecht wird direkt ausgelesen
$gender = value('SO01');
// Alter wird direkt ausgelesen
$age = value('SO03');
// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 6 und 2 wird hier '6-2'
$demGroup = $ageGroup.'-'.$gender;

// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'IV01_01', $demGroup);
 
// Screenout
if (!array_key_exists($demGroup, $quota)) {
redirect('end');
}
 
// Auslesen der Quote für die demografische Gruppe
$maxPerGroup = $quota[$demGroup];
 
// Quotenstopp
if ($cases >= $maxPerGroup) {
redirect('end');
}

Vor der End-Seite habe ich dies noch eingefügt:

// Speichern der Gruppenzugehörigkeit in der internen Variable IV01_01
put('IV01_01', $demGroup);

// Geschlecht wird direkt ausgelesen
$gender = value('SO01');
// Das Alter wird umkodiert
$age = value('SO03');

// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 6 und 2 wird hier '6-2'
$demGroup = $age.'-'.$gender;

// Speichern der Gruppenzugehörigkeit in der internen Variable IV01_01
put('IV01_01', $demGroup);
 
// Complete-Redirect
redirect('end');

Könnte mir einer helfen ?

Danke

in SoSci Survey (dt.) by s129547 (110 points)

1 Answer

0 votes

bekommen jedoch einen 404:

Das dürfte an folgender Zeile (mehrfach) liegen:

redirect('end');

Die Internetadresse "end" gibt es einfach nicht. Wenn Sie die Teilnehmer zum Ende des Fragebogens schicken möchten, verwenden Sie stattdessen bitte:

goToPage('end');
by SoSci Survey (130k points)
Danke ! Ich habe das jetzt angepasst, bekomme jetzt keinen 404 sondern er springt automatisch von Seite 2 zum "end" ohne, dass ich die Fragen von Seite 2 beantworten kann.
Ja - der Code mit dem goToPage() oder auch redirect() darf erst auf der Seite stehen, wo um- bzw. weitergeleitet werden soll. In Ihrem Fall also vermutlich auf Seite 3.
...