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

0 votes

Guten Tag

Auf der ersten Seite des Fragebogens werden die Teilnehmer gefragt, zu welcher Altersgruppe (1-4) sie gehören. Eine Seite weiter sollen sie dann das Geburstdatum eingeben (einzelne Eingabefelder jeweils für Tag/Monat/Jahr).
Nun möchte ich gerne überprüfen, ob das eingegebene Alter mit der angegebnen Altersgruppe übereinstimmt (wenn nicht findet ein Screenout statt).
Gibt es eine Funktion, die das Alter aus dem Datum berechnen könnte?

Leider habe ich dazu nichts gefunden. Deshalb habe ich versucht, lediglich mit dem Geburtsjahr zu arbeiten. Dazu habe ich folgenden Filter erstellt: (hier beispielhaft für eine Altersgruppe)

if (
(value('AG01_01' == 2)) and ( //Wenn Altersgruppe = 1 (18-30 Jahre)
(value('SD02_03' > 2000)) or // und das Geburtsjahr nach 2000 ist
(value('SD02_03' < 1987)) ) // oder vor 1987
){
redirect......} // Screenout

Leider kommt dann jeweils die Fehlermeldung "Für die Funktion value() wurde keine Frage- oder Item-Kennung angegeben."

Ich weiss leider nicht, ob dies überhaupt die angemessene Funktion ist, um dies zu codieren. Kann ich grundsätzlich diesen Typ Filter verwenden oder gibt es eine bessere Alternative?

Vielen Dank für die Weiterhilfe - ich bin ein wenig verloren

in SoSci Survey (dt.) by s075705 (170 points)

1 Answer

0 votes

Die Lösung ist zum Glück ganz einfach. Hier einmal ein Teil aus Ihrer Filter-Bedingung:

(value('AG01_01' == 2))

Folgt man den Klammern, wird als erstes der String (Text) 'AG01_01' mit deer Zahl 2 verglichen. Die beiden Werte sind nicht gleich, also kommt dabei false heraus:

(value(false))

Nun ist false keine Kennung, was die Fehlermeldung moniert. Wenn Sie die Klammern anders setzen, sollte es funktionieren:

(value('AG01_01') == 2)
by SoSci Survey (89.7k points)
Besten Dank für die Antwort, so hat es geklappt!
...