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,
nachdem ich mehr als eine Stunde lang hin und herprobiert habe und auch mit den Online-Anleitungen nicht weiterkomme, habe ich die Hoffnung, dass mir hier vielleicht weitergeholfen werden kann.

Konkret geht es darum, dass ich am Ende meines Fragebogens einen Summenscore über die (insg. 9) Items berechnen möchte.
Ich habe dazu in der entsprechenden Rubrik eine interne Variable angelegt und diese mit "Summenscore PHQ-9" beschriftet. Daraufhin habe ich bei "Fragebogen zusammenstellen" einen PHP Code für diesen Fragebogen angelegt.
Dieser lautet wie folgt (habe ihn hier mal der Länge wegen gekürzt, eigentlich gibt es 9 Items)

$sum01 = valueSum('PH01_01'); //PH01_01 Wenig Interesse oder Freude an ...
$sum02 = valueSum('PH01_02'); // PH01_02 Niedergeschlagenheit, Schwermut
$sum03 = valueSum('PH01_03); // Ein- und Durchschlafstörungen
$index = $sum01 + $sum02 + $sum03;
put('PH04_02', $index); //PH04_02 ist die interne Variable für den Summenscore

Mein Problem ist jetzt, dass irgendwie trotzdem keine Summe berechnet wird. Wenn ich mir die Daten nach dem Ausfüllen ansehe, steht im Datensatz eine 0 statt eine Summe.

Scheinbar stört sich das System auch an den Fragen wie PH01_01 bzw. PH01_02, usw.
Es wird folgendes angezeigt: "Die Kennung PH01_01, die in der Funktion valueSum() angegeben wurde, ist keine Frage- sondern eine Item-Kennung."

Was kann ich verändern, dass mir doch noch eine Summe berechnet wird? Muss ich die interne Variable noch irgendwie mit dem PHP Code verknüpfen, sodass der PHP Code in die interne Variable reinspeichert?

Ich danke Ihnen vielmals im Voraus!

in Datenauswertung by s102248 (130 points)

1 Answer

0 votes

Nahe dran ... sehen Sie sich in der Anleitung bitte einmal die (ganz kurzen) Kapitel zu den Funktionen value() und valueSum() an - ich denke, dann wird es klarer.

Hier Ihre Lösung, wie sie mit value() statt valueSum() funktionieren würde:

$sum01 = value('PH01_01'); //PH01_01 Wenig Interesse oder Freude an ...
$sum02 = value('PH01_02'); // PH01_02 Niedergeschlagenheit, Schwermut
$sum03 = value('PH01_03); // Ein- und Durchschlafstörungen
$index = $sum01 + $sum02 + $sum03;
put('PH04_02', $index); //PH04_02 ist die interne Variable für den Summenscore 

Und hier die korrekte Verwendung von valueSum():

$index = valueSum(array('PH01_01', 'PH01_02', 'PH01_03'));
put('PH04_02', $index); //PH04_02 ist die interne Variable für den Summenscore 

Oder noch etwas einfacher, wenn Sie in PH01 nur diese 3 Items haben:

$index = valueSum('PH03');
put('PH04_02', $index);

Die letzte Zeile ist dasselbe, nur noch mit etwas Code-Golf (so wenige Zeilen Code wie nötig zur Lösung):

put('PH04_02', valueSum('PH03'));
by SoSci Survey (63.7k points)
Das hat mich um Welten weitergebracht! Vielen vielen Dank!
...