0 votes
in SoSci Survey (dt.) by s297327 (115 points)

Hallo,

ich möchte, zuvor in einer Mehrfachauswahl gewählte Items, in einer Mehrfachauswahl-Matrix abfragen. Diese sollen nach Schulnoten 1-6 bewerten werden. Das funktioniert auch gut mit dem Code:

    $angebote = getItems('HI02', 'min', 2); // Liste erstellen
if (count($angebote) >= 3) {           // Wenn mindestens 3 Items ausgewählt wurden, 
  question('HI04', $angebote);
}

Nun möchte ich jedoch nach dieser Bewertung einen eigentlich leichten Filter. Und zwar: wenn mit 1 & 2 bewertet, dann Frage HI06, wenn Frage mit 4-6 bewertet, dann Frage HI07, falls nur mit 3 beantwortet, dann im Fragebogen weiterspringen.
Beispielhaft hat dies mit folgendem Code funktioniert, der (die Verknüpfung der Bedingungen fehlt noch) nach "guter Bewertung" filtern soll:

    $itemliste = array(); // Eine leere Liste erstellen
$anzahl_items = 16; // 15 Items überprüfen
$frage = 'HI04';
 
for ($i=1; $i<=$anzahl_items; $i++) { // Durchzählen von 1 bis 6
  $kennung = id($frage, $i); // Ergibt z.B. TF04_01
  // Hat das Item einen Wert von 2?
  if (value($kennung) <= 2) {
    $itemliste[] = $i;
  }
}
if (count($itemliste) == 0) {
  goToPage('next');
}
 question('HI06');

Dabei tritt jedoch folgendes Problem auf:

"Warnung, S. 6: Die Variable HI04_01 wurde im Laufe dieses Interviews
auf keiner vorhergehenden Seite abgefragt. Daher kann die Funktion
value() keinen Antwort-Wert ermitteln."

Diese Warnungen werden für alle Variablen angezeigt, die in der ersten Mehrfachauswahl (HI02 im ersten Code) nicht gewählt wurden. D.h. die Verwendung des Arrays im zweiten Code kann nicht funktionieren.
Somit wollte ich fragen, ob es eine andere Möglichkeit gibt, um anhand der Bewertungen nach Fragen zu filtern? Bzw. falls nicht, ob ich mit Erweiterung der bisherigen Codes eine Lösung finden könnte?

Vielen Dank im Voraus und liebe Grüße!

1 Answer

0 votes
by SoSci Survey (326k points)

wenn Frage mit 4-6 bewertet, dann Frage HI07

Das müssten Sie bitte nochmal erklären, das kann ich nicht nachvollziehen. Es werden ja in HI04 zwischen 3 und viele Items angeboten. Was ist, wenn einige mit 1/2 und andere mit 4/5/6 beantwortet werden?

Die Variable HI04_01 wurde im Laufe dieses Interviews auf keiner vorhergehenden Seite abgefragt.

Ich darf davon ausgehen, dass Sie den PHP-Code erst auf der Seite nach dem ersten Filter platziert haben - er also erst aktiv wird, wenn HI04 beantwortet und mit "Weiter" abgeschickt wurde.

Diese Warnungen werden für alle Variablen angezeigt, die in der ersten Mehrfachauswahl (HI02 im ersten Code) nicht gewählt wurden.

Nachdem sie ja wissen, woran es in Ihrem Fall liegt, haben Sie zwei Möglichkeiten. (1) Sie können die Warnung ignorieren - es ist nur eine Warnung und die Befragten werden nichts davon sehen oder (2) Sie ersetzen

if (value($kennung) <= 2)

durch

if (value($kennung, 'code:ifany') <= 2)

Das 'code:ifany' als zweiter Parameter blendet einfach nur die Warnung aus.

by s297327 (115 points)
Vielen Dank, ich werde das mit 'code:ifany' probieren.
Zur ersten Rückfrage: Genau, falls die Items unterschiedlich bewertet werden, sollen alle Folgefragen angezeigt werden.

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

...