0 votes
in SoSci Survey (dt.) by s085910 (130 points)
edited by SoSci Survey

Liebes Team,

ich habe Quoten mit entsprechenden redirects in meiner Erhebung eingebaut, wenn diese erfüllt sind. Ich nutze dafür verbundene Quoten bezüglich des Geschlechts (drei Ausprägungen: 1,2,3), des Alters (6 Gruppen) und der Region (zwei Ausprägungen: 1,2): Was das Geschlecht angeht, möchte ich, dass die Quotierung nur für Männer und Frauen stattfindet, Leute mit diversem Geschlecht solle aber nicht von der Befragung ausgeschlossen werden. Momentan wird man aber bei Wahl der Ausprägung "divers" für Geschlecht direkt zum externen Panelanbieter weitergleitet per Screenout.

Dies ist der PHP-Code, den ich auf der Seite nach den demographischen Fragen eingefügt habe:


// Geschlecht, Region und Land werden direkt ausgelesen

$gender = value('SD01');
$region = value('SD21');
$country = value('SD07'); // verwendet für Screenout

// Das Alter wird umkodiert
$age = value('SD02_01');
if ($age < 30) {
  $ageGroup = 1;
} elseif ($age < 40) {
  $ageGroup = 2;
} elseif ($age < 50) {
  $ageGroup = 3;
} elseif ($age < 60) {
  $ageGroup = 4;
} elseif ($age < 70) {
  $ageGroup = 5;
} else {
  $ageGroup = 6;
}

$quota = [
'2-1-1' => 37, '2-1-2' => 73, // 37 Ost- und 73 Westdeutsche Frauen für die Altersgruppe 2
'2-2-1' => 37, '2-2-2' => 73, // Wiederholung für Männer und danach für alle weiteren Altersgruppen
'3-1-1' => 37, '3-1-2' => 73, 
'3-2-1' => 37, '3-2-2' => 73, 
'4-1-1' => 37, '4-1-2' => 73, 
'4-2-1' => 37, '4-2-2' => 73, 
'5-1-1' => 37, '5-1-2' => 73, 
'5-2-1' => 37, '5-2-2' => 73,
'6-1-1' => 37, '6-1-2' => 73, 
'6-2-1' => 37, '6-2-2' => 73,
];

// Definition einer Variable mit Altersgruppe, Geschlecht und Region
$demGroup = $ageGroup.'-'.$gender.'-'.$region;

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


// Screenouts

if ($ageGroup == 1){
redirect('https://mingle.respondi.com/s/XXXXXX/ospe.php3?c_0002=0&return_tic=%reference%', true);
}
if ($country == 2){
redirect('https://mingle.respondi.com/s/XXXXXX/ospe.php3?c_0002=0&return_tic=%reference%', true);
}


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

// Quotenstopp bei Quota Full
if ($cases >= $maxPerGroup) {

// Quota Full Redirect
redirect('https://mingle.respondi.com/s/XXXXXX/ospe.php3?c_0002=2&return_tic=%reference%');
}

Wie definiere ich hier, dass das dritte Geschlecht nicht automatisch weitergeleitet werden soll?

1 Answer

+1 vote
by SoSci Survey (305k points)
selected by s085910
 
Best answer

Leute mit diversem Geschlecht solle aber nicht von der Befragung ausgeschlossen werden.

Das würde im Umkehrschulls bedeuten, dass diese Personen grudsätzlich immer teilnehmen dürfen, egal wie es mit den Quoten sonst aussieht?

Dafür würden Sie den Filter am Ende ein wenig umbauen. Aktuell:

if ($cases >= $maxPerGroup) {
    // Quota Full Redirect
    redirect('https://...');
}

Und mit Passireschein für alle Personen dritten Geschlechts:

if (($cases >= $maxPerGroup) && ($gender != 3)) {
    // Quota Full Redirect
    redirect('https://...');
}

Außerdem dürfte diese Zeile hier noch einen Fehler werfen:

$maxPerGroup = $quota[$demGroup];

Das müssten Sie m.E. wie folgt ändern:

if (isset($quota[$demGroup])) {
    $maxPerGroup = $quota[$demGroup];
} else {
    $maxPerGroup = 0;
}
by s085910 (130 points)
Vielen Dank! Genau, Teilnehmende, die beim Geschlecht "divers" auswählen, sollen den Fragebogen immer ausfüllen dürfen, unabhängig von den sonstigen Quoten. Jetzt klappt das so auch! Danke auch für Ihren Hinweis, was die Zeile darüber angeht. Ich habe das nun entsprechend angepasst.

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

...