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

Ich lege zum ersten Mal eine verbundene Quotierung an und habe mich dabei an den auf der Support-Seite vorhandenen Code orientiert:

nach der Seite zu Alter und Geschlecht steht nun:

$quota = [
  '2-1' => 51, '2-2' => 51,  // 51 Personen pro Geschlecht für die Altersgruppe 2
  '3-1' => 47, '3-2' => 47,  // 47 Personen pro Geschlecht für die Altersgruppe 3
  '4-1' => 46,  '4-2' => 46,    //  46 Personen pro Geschlecht für die Altersgruppe 4
  '5-1' => 59,  '5-2' => 59,    //  59 Personen pro Geschlecht für die Altersgruppe 5
  '6-1' => 45,  '6-2' => 45    //  45 Personen pro Geschlecht für die Altersgruppe 6
];


// Geschlecht wird direkt ausgelesen
$gender = value('SD01');
// Das Alter wird umkodiert
$age = value('SD02_01');
if ($age < 18) {
  $ageGroup = 1;
} elseif ($age <= 29) {
  $ageGroup = 2;
} elseif ($age <= 39) {
  $ageGroup = 3;
} elseif ($age <= 49) {
  $ageGroup = 4;
} elseif ($age <= 59) {
  $ageGroup = 5;
} elseif ($age <= 69) {
  $ageGroup = 6;
} else {
  $ageGroup = 7;
}


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

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

auf der vorletzten Seite habe ich folgendes stehen:

// Geschlecht wird direkt ausgelesen
$gender = value('SD01');
// Das Alter wird umkodiert
$age = value('SD02_01');
if ($age < 18) {
  $ageGroup = 1;
} elseif ($age <= 29) {
  $ageGroup = 2;
} elseif ($age <= 39) {
  $ageGroup = 3;
} elseif ($age <= 49) {
  $ageGroup = 4;
} elseif ($age <= 59) {
  $ageGroup = 5;
} elseif ($age <= 69) {
  $ageGroup = 6;
} else {
  $ageGroup = 7;
}
 
// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 3 und 2 wird hier '3-2'
$demGroup = $ageGroup.'-'.$gender;
 
// Speichern der Gruppenzugehörigkeit in der internen Variable IV02_01
put('IV02_01', $demGroup);
 
// Complete-Redirect
redirect('xy');

In den Daten steht nun bei der Internen Varaibel IV02_01 in der Excel z.B. "1.04.2020" --> muss ich bei der internen Variable 2-1, 2-2, etc. hinterlegen und wenn ja wie, oder wo ist der Fehler?

Vielen Dank!

1 Answer

0 votes
by s139847 (2.7k points)

Hallo,

ich vermute mal ganz schwer, dass das Problem hier auf Seiten von Microsoft liegt - Excel ist notorisch dafür, einige Formate direkt ins Datumsformat umzuformatieren, ohne zu fragen, darunter auch z.B. 1-4, was direkt zu Ihrem Datum wird.
Versuchen Sie doch mal, die Datei in LibreOffice zu öffnen, oder gucken Sie unter Erhobene Daten > Daten ansehen nach, da können Sie dann besser sehen, was drin steht, ich gehe mal nicht von einem Datum aus....

Viele Grüße

asked May 13, 2020 in SoSci Survey (dt.) by s021747 (120 points) erhobene Daten IV02-01 leer

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

...