0 votes
in SoSci Survey (dt.) by s318367 (130 points)

Hallo zusammen,

wir haben für unser Projekt eine Skala mit 19 Items erstellt. Nun soll es eine Folgefrage geben, welche nur erscheint wenn von den Antwortmöglichkeiten 6 die Varianten 1-3 genommen wurden, wenn 4-6 angeklickt wird dann nicht. Leider schaffe ich es aber nicht, dass in PHP zu Programmieren.

Mit dank und besten grüßen

1 Answer

0 votes
by SoSci Survey (346k points)

Meinen Sie mit "Antwortmöglichkeiten 6" das sechte Item?

Dann würde der PHP-Filter, um z.B. Folgefrage FF01 zuzeigen, wie folgt aussehen:

if ((value('SK01_06') >= 1) && (value('SK01_06') <= 3)) {
    question('FF01');
}
by s318367 (130 points)
Da habe ich mich leider schlecht ausgedrückt.

Wir haben eine Skalen-Frage, mit 6 Ausprägungen. Und die Folgefrage später im Fragebogen soll nur angezeigt werden, wenn die Ausprägungen 1-5 Angegeben wurden, wenn die 6. ausgewählt wurde dann nicht.
by SoSci Survey (346k points)
Wie heißt denn die Variable Ihrer Frage?
by s318367 (130 points)
Ich habe gier einmal die ganze Frage:

[SU03] Skala (Zwischenwerte beschriftet)

3.3

"Wie häufig erleben Sie die folgenden Handlungen in der letzten Zeit ungefähr in Ihrem Dienst?"

SU03_01 Beleidigung mit Worten oder Gesten

SU03_02 Einschüchterung und Bedrohung mit Worten oder Gesten

SU03_03 Diskriminierung

SU03_04 Verbale sexuelle Belästigung

SU03_05 Behinderung der Arbeit

SU03_06 Respektlosigkeit/ mangelnde Wertschätzung

SU03_07 Sachbeschädigung von Diensteigentum

SU03_08 Rücksichtsloses Fahrverhalten

SU03_09 Bedrohung mit gefährlichem Gegenstand

SU03_10 Bedrohung mit Waffe

SU03_11 Angedrohtes Anfahren mit Fahrzeug

SU03_12 Bewerfen mit Gegenständen

SU03_13 Tätlicher Angriff mit einem gefährlichen Gegenstand

SU03_14 Tätlicher Angriff mit Waffe

SU03_15 Sonstiger tätlicher Angriff (z. B. Haare ziehen, bedrängt, bespuckt oder gebissen werden)

SU03_16 Anfahren mit Fahrzeug

SU03_17 Körperliche sexuelle Belästigung

SU03_18 Sexuelle Nötigung

SU03_19 Keine Angabe

1 = Täglich
2 = Wöchentlich
3 = Monatlich
4 = Einmal im Jahr
5 = Seltener
6 = Noch nie
-9 = nicht beantwortet

Und diese Frage soll nur erscheinen, wenn bei der Frage zuvor Gewalt erlebt wurde:

[OU05] Skala (Zwischenwerte beschriftet)

6.4

OU05_01 Wie oft melden Sie Gewaltvorfälle in Ihrer Organisation?

1 = Immer
2 = Meistens
3 = Manchmal
4 = Selten
5 = Nie
6 = Keine Angabe
-9 = nicht beantwortet

Mit besten Dank und Wünschen für einen angenehmen Feiertag.
by SoSci Survey (346k points)
Sie wollen also wissen, ob in der Skala SU03 mindestens ein Item mit einem Wert <6 beantwortet wurde? Das können Sie wie folgt prüfen:

if (!empty(getItems('SU03', '<', 6))) {
    question('OU05');
}
by s318367 (130 points)
Wenn ich dies einfüge und alle Antworten 6 sind, taucht leider die Frage "Wie oft melden Sie Gewaltvorfälle in Ihrer Organisation?" trotzdem im Fragebogen auf. Wie  schaffe ich es, wenn alle 6 oder auch nichts antworten, dass die genannte Frage dann nicht auftaucht?
by SoSci Survey (346k points)
Bitte stellen Sie sicher, dass OU05 nur über den PHP-Code eingebunden ist, und dass Sie die Frage nicht zusätzlich noch in die Seite gezogen haben.
ago by s318367 (130 points)
Das verstehe ich leider nicht, die Frage darf also nicht noch auf eine extra Seite im Fragebogen gezogen sein? Wenn das so ist, wie gebe ich denn diese Frage (OU05) nur als PHP Code an? Mit besten Grüßen
ago by SoSci Survey (346k points)
Beim "Fragebogen zusammenstellen" sagen Sie SoSci Survey, an welcher Stelle eine Frage erscheinen soll. Das Hineinziehen einer Frage und der Aufruf des Befehls question() sind dabei gleichwertig.

Wenn Sie also z.B. die Frage AB01 auf Seite 1 des Fragebogens ziehen und darunter noch den PHP Code question('AB01') setzen, dann wird die Frage zweimal auf der Seite erscheinen. Sie haben SoSci Survey dann ja gesagt, dass sie zweimal angezeigt werden soll.

So ist das auch mit Ihrem Code: Der PHP-Code wird die Frage zeigen (oder eben auch nicht), und wenn Sie sie an anderer Stelle im Fragebogen noch auf eine Seite gezogen haben, dann wird sie dort nochmal erscheinen.
ago by s318367 (130 points)
Leider schaffe ich es immer noch nicht. Es geht ja darum, dass die Frage OU05 nur angezeigt werden soll zu einem späteren Zeitpunkt in der Befragung wenn bei SU93 mindestens eine Antwort kleiner 6 war.
ago by SoSci Survey (346k points)
>  zu einem späteren Zeitpunkt in der Befragung

Genau an die Stelle, wo Sie OU05 anzeigen möchten, platzieren Sie bitte den PHP-Code. Zum Testen können Sie im Debug-Modus auf der Seite mit OU05 starten, dort etwas auswählen und dann über den orangen Debug-Balken oben direkt zur Seite mit dem PHP-Code springen.
ago by s318367 (130 points)
Ich habe die Frage OU05 jetzt auf eine eigene Fragebogenseite mittels PHP Code eingefügt. Das Problem ist nun leider immer noch, dass egal was ich bei der Skalenfrage davor beantworte die Frage immer auftaucht. OU05 soll ja nur auftauchen wenn mindestens 1 Antwort davor täglich bis seltener war.
ago by SoSci Survey (346k points)
> egal was ich bei der Skalenfrage davor beantworte die Frage immer auftaucht.

In Ordnung, bitte starten Sie den Fragebogen ab der Seite mit der Skalenfrage im Debug-Modus und posten Sie die Debug-Information (https://www.soscisurvey.de/help/doku.php/de:create:debugging) von der Seite, auf welcher OU05 auftaucht. Bitte teilen Sie auch mit, auf welcher Seite der PHP-Code steht.

Und zum Debugging ergänzen Sie den PHP-Code bitte noch ein wenig:

debug(getItems('SU03', '<', 6));  // Neu

if (!empty(getItems('SU03', '<', 6))) {
    question('OU05');
}
ago by s318367 (130 points)
Hier als erstes die Informationen von Seite 1 auf welcher die Skalenfrage steht:
 0% ausgefüllt
[Information]    Interview gestartet (neue Nummer 580)
[Information]    Der Fragebogen base im Projekt sagre wird verwendet
[Verarbeitung]    Erstelle Seite 1 in Fragebogen base
[Inhalt]    Erstelle Frage SU03

Und nun die Informationen von Seite 3 auf welcher ich den PHP-Code eingefügt habe:
[Information]    Interview Nummer 580 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt sagre wird verwendet
[Information]    Die Verweildauer auf Seite 2 war 19 Sekunden
[Verarbeitung]    Lese Antworten von Seite 2
[Information]    Antwort auf OU06_01 = 1
[Information]    Antwort auf OU06_02 = 1
[Information]    Antwort auf OU06_03 = 1
[Information]    Antwort auf OU06_04 = 1
[Information]    Antwort auf OU06_05 = 1
[Information]    Antwort auf OU06_06 = 1
[Information]    Antwort auf OU06_07 = 1
[Information]    Antwort auf OU06_08 = 1
[Information]    Antwort auf OU06_09 = 1
[Information]    Antwort auf OU06_10 = 1
[Information]    Antwort auf OU06_11 = 1
[Information]    Keine Antwort für OU06_11a
[Information]    Antwort auf OU06_12 = 1
[Information]    Antwort auf OU06 = 0
[Information]    Ungültige Antwort für OU06
[Information]    Fragen bisher zu 0% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 3 in Fragebogen base
debug()    Inhalt: Array (ohne Elemente)
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 4
[Verarbeitung]    Erstelle Seite 4 in Fragebogen base
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr.
[Verarbeitung]    Erstelle die letzte Seite des Fragebogens

Wichtig wäre auch, dass wenn -1 Keine Angabe gemacht wird oder die Frage übersprungen wird OU05 auch nicht angezeigt wird.
ago by s318367 (130 points)
Also inzwischen funktioniert es, im weitesten. Ich müsste jetzt nur noch wissen, wie ich es schaffe dass wenn nichts beantwortet wird oder die Antwort keine Angabe (-1) ist OU05 auch nicht auftaucht. Denn wenn ich das richtig verstehe, ist -1 dann auch kleiner als 6.
ago by s318367 (130 points)
Hat sich auch erledigt. Besten Dank

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

...