0 votes
in SoSci Survey (dt.) by s109993 (10.3k points)
edited by s109993

Mein Code ist

$medien = getItems('A004', '!=', -9);
if (count($medien) > 0) {
  question('A008', $medien);
}

Das scheint allerdings nicht zu klappen. Auch '>=' geht nicht. Mein Fragetyp ist eine Skala (Zwischenwerte beschriftet). Komischerweise wird in SoSci Wiki auch keine "ist nicht gleich" Option angegeben, obwohl die ja in vielen Situationen wesentlich kürzer ist. (https://www.soscisurvey.de/help/doku.php/de:create:functions:getitems)

EDIT:

über den langen Weg gereglt, da hat man nochmal ein paar mehr Interventionsmmöglichkeiten:

$itemliste = array(); // Eine leere Liste erstellen
$anzahl_items = 11; // 6 Items überprüfen
$frage = 'A007';
 
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 mindestens 2?
  if (value($kennung) != 1) {
    $itemliste[] = $i;
  }
}


if (count($itemliste) == 0) {
  goToPage('next');
}
// Zweite Frage mit diesen Items stellen
question('A008', $itemliste);

1 Answer

0 votes
by SoSci Survey (306k points)
selected by s109993
 
Best answer

Ist ja lustig ... das scheint tatsächlich seit einem Jahrzehnt niemand vermisst zu haben :)

Wir haben einen Ungleich-Operator (!= oder <>) auf www.soscisurvey.de jetzt ergänzt. Allerdings....

Alle Items einer Skala mitnehmen, die nicht der Ausweichoption entsprechend

Die Ausweichoption hat den Code -1, -9 bedeutet, dass ein Item nicht beantwortet wurde. Insofern würde ich den Klassiker in Erwägung ziehen:

$medien = getItems('A004', '>', 0);

Oder auch

$medien = getItems('A004', 'valid');

Natürlich nur, wenn Sie unbeantwortete Items (falls möglich) auch ausschließen möchten.

by s109993 (10.3k points)
Danke, ich denke das werden ich dann erst mit dem nächsten Update benutzen können, da wir einen eigenen Server benutzen. Kurze Anschlussfrage:

1Meine Frage die angezeigt werden soll ist eine Mehrfachauswahl-matrix. Funktioniert question() mit einer Variable als Option da überhaupt? Die Variablen haben ja ein anderes Formal wie bei einer normalen Skala. Gerne auch auf den Wiki Artikel verlinken, ich konnte leider keinen Eintrag dafür finden :)

2. Würde dann auch $medien = getItems('A004', '>', -1); funktionieren? Ich möchte quasi nur ausschließen falls jemand die Ausweichoption gewählt hat.
by SoSci Survey (306k points)
Bei der Mehrfachauswahl-Matrix funktion getItems() normalerweise nicht sinnvoll, weil Sie da ja mehrere Antworten pro Item haben können. Aber die Ausweichoption sollte in der der Variable gespeichert werden, die getItems() betrachtet - nämlich die "Ausweichoption oder Anzahl ausgewählter Optionen". Das '>' sollte also funktionieren wie von Ihnen angegeben.
by s109993 (10.3k points)
Ok, jetzt habe ich aber immer noch das Problem, dass wenn ich $medien = getItems('A004', '>', 0); benutze oder auch 'valid', nicht beantwortete Items auf der nächsten Seite nicht angezeigt werden. ich will diese aber mitnehmen. Das einzige was ich ausschließen (bzw. nicht mit auf die nächste Seite nehmen) möchte ist, wenn die Ausweichoption angeklickt wurde. Deshalb dachte ich auch direkt an den != Operator.

Vielleicht um es noch klarer zu machen:

$medien = getItems('A004', '>', 0);  // A004 => einfache Skala
if (count($medien) > 0) {
  question('A008', $medien);  // A008 => Mehrfachantwort Skala
}
by SoSci Survey (306k points)
> wenn ich $medien = getItems('A004', '>', 0); benutze oder auch 'valid', nicht beantwortete Items auf der nächsten Seite nicht angezeigt werden

Sie hatten ja bereits > -1 geschrieben - ich ging davon aus, dass Sie dies bereits probiert hatten? Dies sollte zum gewünschten Ergebnis führen.

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

...