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

Hallo,

ich würde gerne die Items aus einer Mehrfachauswahl-Matrix mitnehmen, wenn die vierte Spalte ein Kreuz hat bei einem Item. ALs Vorlage habe ich das hier gefunden, was allerdings für normale Skalen ist: https://www.soscisurvey.de/help/doku.php/de:create:filter-items#:~:text=Tipp: Es ist wichtig, dass,die Texte ändern.

Wie kann ich diesen Code für eine Mehrfachauswahl anpassen?

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) >= 2) {
    $itemliste[] = $i;
  }
}

1 Answer

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

DIe Kennungen für die Variablen der Mehrfachauswahl-Matrix sind ein wenig anders aufgebaut, die vierte Option von TF01_01 hätte die Variable TF01_01_4.

Das _4 müssten sie im Code einfach noch ergänzen:

$frage = 'AB01';
$items = getItems($frage, 'all');
$itemliste = [];

foreach ($items as $i) {
  $kennung = id($frage, $i).'_4'; // Ergibt z.B. TF04_01_4
  // Hat das Item den Wert 2
  if (value($kennung) == 2) {
    $itemliste[] = $i;
  }
}
by s109993 (12.0k points)
Ich war so nah dran... hatte nur das '_4' innerhalb der Klammer. Allerdings macht dieses Vorgehen Probleme mit den CN Variablen der Mehrfachmatrix: "Variable D001_01_CN_4 is unknown to this project (see listing of variables). Therefore no result can be retrieved."
by SoSci Survey (328k points)
Arg, da war ich mit getItems() scheinbar ein wenig übermütig. Dann eben weiterhin...

for ($i=1; $i<=$anzahl_items; $i++) { // Durchzählen von 1 bis 6
  $kennung = id($frage, $i).'_4';
by s109993 (12.0k points)
Ich musste es etwas umbauen. ohne id() hat es geklappt:

$kennung = $frage. '_0' .$i.'_4';

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

...