0 votes
in SoSci Survey (dt.) by s246994 (120 points)
edited by s246994

Ich arbeite mit einem Panelprovider zusammen und nutze verbundene Quoten (Alter und Geschlecht). Allerdings zählen dabei auch die Fragebögen von abgewiesenen Teilnehmenden (per redirect() weitergeleitet), die aber ja nicht abgeschlossen wurden zur Quotenzählung hinzu. Wie kann ich sicherstellen, dass nur wirklich abgeschlossene Fälle in die Quotenzählung eingehen?

Der Code den ich verwende, lautet wie folgt:

// Geschlecht wird direkt ausgelesen
$gender = value('DG08');

// Das Alter wird umkodiert
$age = value('DG07_01');
if ($age >= 18 && $age <= 29) { $ageGroup = 1; // 18-29 Jahre
} elseif ($age >= 30 && $age <= 39) { $ageGroup = 2; // 30-39 Jahre
} elseif ($age >= 40 && $age <= 49) { $ageGroup = 3; // 40-49 Jahre
} elseif ($age >= 50 && $age <= 59) { $ageGroup = 4; // 50-59 Jahre
} elseif ($age >= 60 && $age <= 65) { $ageGroup = 5; // 60-65 Jahre
} else { $ageGroup = 6;
}

put('IV01_01', $ageGroup);
put('IV02_01', $gender);

// Definition einer Variable mit Altersgruppe und Geschlecht
// Aus z.B. 3 und 2 wird hier '3-2'
$demGroup = $ageGroup . '-' . $gender;

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

// Definiere die Quoten für jede Altersgruppe und Geschlecht
$quota = [ '1-1' => 27, // Männer, 18-29 Jahre '1-2' => 27, // Frauen, 18-29 Jahre '2-1' => 27, // Männer, 30-39 Jahre '2-2' => 3, // Frauen, 30-39 Jahre '3-1' => 24, // Männer, 40-49 Jahre '3-2' => 24, // Frauen, 40-49 Jahre '4-1' => 32, // Männer, 50-59 Jahre '4-2' => 32, // Frauen, 50-59 Jahre '5-1' => 17, // Männer, 60-65 Jahre '5-2' => 17 // Frauen, 60-65 Jahre ];

// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'IV03_01', $demGroup);

// Auslesen der Quote für die demografische Gruppe
$maxPerGroup = $quota[$demGroup];

// Quotenstopp
if ($cases >= $maxPerGroup) {
redirect('Link');
}

Vielen Dank im Voraus!

1 Answer

0 votes
by SoSci Survey (327k points)

Am einfachsten verschieben Sie diese beiden Zeile PHP-Code (den Code darüber müssen Sie kopieren) auf die vorletzte Seite im Fragebogen - also direkt vor den Complete-Redirect.

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

Dann wird die demografische Zelle erst beim Abschluss des Interviews geschrieben, und entsprechend nur für abgeschlossene Fragebögen gezählt.

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

...