0 votes
in SoSci Survey (dt.) by s109131 (120 points)

Ich möchte programmieren, dass TeilnehmerInnen, wenn sie in einer Skala in allen 20 Items "habe ich nie erlebt" angeben eine darauffolgend Frage nicht mehr angezeigt bekommen. Die Frage, die ausgeblendet werden soll ist auf der nächsten Seite nach der oben erwähnten Skala, gemeinsam mit einer weiteren Frage, die alle TeilnehmerInnen immer angezeigt bekommen sollen.
Ich habe bereis mit PHP-Code programmiert, dass eine andere Skala in oben beschriebenem Falle nicht angezeigt werden soll mittels goToPage ('next') Befehl und if-clause Verknüpfung der Itemvalues mit UND.

1 Answer

0 votes
by SoSci Survey (328k points)
edited by SoSci Survey

Hier empfehle ich getItems() - damit können Sie z.B. alle Items auflisten lassen, die mehr als (>) "nie erlebt" bekommen.

if (count(getItems('SK01', '>', 1)) == 0) {
  goToPage('next');
}

Update

Wenn die Frage zusammen mit anderen Elementen auf einer Seite stehen soll, dann würde der Filter wie folgt aussehen:

if (count(getItems('SK01', '>', 1)) > 0) {
  question('BX01');
}

Die Frage (hier im Beispiel "BX01") dürfte dann nicht mehr (!) auf die Seite gezogen werden bzw. müsste aus der Seite hinaus gezogen werden, wenn sie schon dort ist.

by s109131 (120 points)
Also empfiehlst du, die Frage, die ausgeblendet werden soll auf eine eigene Seite zu stellen? Ansonsten wird ja die andere Frage auf dieser Seite auch ausgeblendet.
Und noch zur Klärung: Wenn ich einzelne Teile des Fragebogens ausblende für manche Leute, werden die mir als nicht ausgefüllt (=-9) in den Rohdaten kodiert, oder?
by SoSci Survey (328k points)
Pardon, den Teil mit der zweiten Frage habe ich überlesen. In diesem Fall muss der Filter natürlich anders formuliert werden... (s. Update oben)
by s109131 (120 points)
Ok, ich muss noch mehr fragen, um den Code verstehen zu können:

a) ('SK01', '>', 1)) > 0
--> SK01, SK02 etc. sind die Bsp.-Items, die ich einfach aufliste
--> "nie erlebt" ist als bei mir als 1 kodiert, ich will also alle mit Werten >1 haben: Schreibe ich dann "SK01>1", "SK02>1", etc. in die getItems-Klammer? Oder so wie du geschrieben hast ('SK01', 'SK02', etc..., '>', 1)? Und was ist das dann für ein >0 am Ende wo die if-Klammer sich schließt?

b) Ich nehme an, ich kann in der geschweiften Klammer auch die Bsp.-Frage question('BX01'); gemeinsam mit einem Instrukionstext erscheinen lassen, oder? --> Einfach als (question('BX01'); and question('BX02'); in der geschweiften Klammer formulieren?

Danke für die Hilfe!
by SoSci Survey (328k points)
> "nie erlebt" ist als bei mir als 1 kodiert, ich will also alle mit Werten >1 haben:

Dann schreiben Sie es bitte genauso wie im Beispiel: getItems('SK01', '>', 1) - vielleicht hilft beim Verständnis ein Blick in die Anleitung: https://www.soscisurvey.de/help/doku.php/de:create:functions:getitems

Die Funktion getItems() kann immer nur die Items einer Frage abrufen. Wenn man Items aus mehreren Fragen braucht ... das klären wir bitte in einer neuen Frage hier im Online-Support.

> Ich nehme an, ich kann in der geschweiften Klammer auch die Bsp.-Frage question('BX01'); gemeinsam mit einem Instrukionstext erscheinen lassen

Ja - und zwar getrennt durch ein Semikolon (und üblicherweise auch einen Zeilenumbruch), vgl. https://www.soscisurvey.de/help/doku.php/de:create:php-filters#anweisungs-bloecke

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

...