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

Liebes SoSciSurvey-Team,

ich wollte in meinem Ergebnisbericht weitere Berechnungen einfließen lassen und habe dafür Folgendes definiert:

'%Ressourcen%' => (value('A105_01') + value('A105_02') + value('A105_03') + value('A105_04')-4) *4/16,

Den Code habe ich getestet und leider wurde mir im Ergebnisbericht nicht das richtige Ergebnis angezeigt. Die Problematik hatte ich auch bei anderen Variationen.

'%Ressourcen%' => valueSum('A105')*4,

Sind die Funktionalitäten innerhalb des Ergebnisberichts eingeschränkt?

Vielen Dank im Voraus!

1 Answer

0 votes
by SoSci Survey (352k points)

Den Code habe ich getestet und leider wurde mir im Ergebnisbericht nicht das richtige Ergebnis angezeigt.

Rufen sie den Ergebnisbericht direkt aus einem Fragebogen heraus auf oder anderweitig, z.B. per Serienmail?

Die Rechenfunktionen sind im Ergebnisbericht nicht eingeschränkt, aber es wäre denkbar, dass etwa die Addition an einem Dezimaltrennzeichen scheitert.

Mein Vorschlag, um das Problem einzugrenzen wäre, dass Sie Debugging-Code ergänzen:

debug(value('A105_01'));
debug(value('A105_02'));
debug(value('A105_03'));
debug(value('A105_04'));
debug(value('A105_01') + value('A105_02') + value('A105_03') + value('A105_04')-4);
debug((value('A105_01') + value('A105_02') + value('A105_03') + value('A105_04')-4) *4/16);

Das debug() funktioniert im Prinzip auch im Ergebnisbericht. Allerdings müssen Sie dort evtl. unter dem Zahnrad-Symbol den Fall eintragen, für den Sie es testen möchten, und dann mit dem Play-Knopf die Vorschau erstellen.

Am Rande: Ich würde empfehlen, dass Sie die value()-Funktionen wie folgt abkürzen:

valueMean('A105', [1,2,3,4]) - 1

Oder falls es nur die 4 Items gibt:

valueMean('A105') - 1

Das valueMean() geht anders als Ihre Lösung auch korrekt mit fehlenden Werten um, falls diese überhaupt auftreten können.

by s263017 (120 points)
Danke für die Antwort!

Der Ergebnisbericht wird mir per Mail zugesendet (in dem Fall nutze ich die mailSend() Funktion).

Ich habe die Auswertungen jetzt mit valueMean fortgeführt und komme dabei immer noch zu unterschiedlichen Ergebnissen.

Das Ergebnis wird mir im Fragebogen noch korrekt angezeigt - dafür habe ich dann auch die debug-Funktion nutzen können.

Hier ein Beispiel:

%Ressourcen%' => valueMean('A105');   %%mit einer Skalierung von 1 - 5
'A105' hat 5 Items, bei denen ich dann den Maximalwert angeklickt habe und beim Ergebnisbericht dann den Wert 25 erhalte; innerhalb des Fragebogens jedoch den Wert 5.

Zusätzlich ist noch folgende Fehlermeldung aufgetreten:
Für die Funktion value() wurde anstatt einer Frage- oder Item-Kennung ein Parameter vom Typ NULL angegeben.

Es gibt bei einigen Fragen die Möglichkeit "weiß ich nicht" anzuklicken, wobei dann ein Wert von -1 gesetzt wird. Diesen Wert habe ich mit folgender Konstruktion umgangen:

$items = getItems('O102');
foreach ($items as $item) {
  $original = value(id('O102', $item));
  if ($original < 0) {
    put(id('C101', $item), (int)$original + 1);
  }
    else if ($original > 0) {
    put(id('C101', $item), (int)$original);
  }
}

Nun kam es hierbei bei der Berechnung von meanValue() zu der vorher erwähnten Fehlermeldung. Ich würde die Items bei der Berechnung gerne beim Wert 0 belassen. Gibt es hierfür andere Ausweichmöglichkeiten? Ich habe nicht vorgesehen, dass negative Werte in die Berechnung einfließen.

Zuletzt wollte ich noch fragen, ob es Probleme beim Anzeigen mehrerer Seiten eines Ergebnisberichts gibt? Die zweite Seite des Berichts wurde mir bisher nicht angezeigt.
by SoSci Survey (352k points)
> beim Ergebnisbericht dann den Wert 25 erhalte; innerhalb des Fragebogens jedoch den Wert 5

Hmm ... das klingt so, als würde valueSum() statt valueMean() zum Einsatz kommen. Ich habe auf s2survey.net nochmal die korrekte Funktion von valueMean() überprüft, und konnte keine Fehler feststellen. Bitte prüfen Sie zur Sicherheit nochmal den PHP-Code im Ergebnisbericht.

Falls wir die Unstimmigkeit auf diesem Wege nicht klären können, kann ich Ihnen anbieten, dass ich einen Administrator-Zugang zu Ihrem Befragungsprojekt erstelle und mir das Problem im Kontext ansehe.

> Für die Funktion value() wurde anstatt einer Frage- oder Item-Kennung ein Parameter vom Typ NULL angegeben.

Ohne Kenntnis des aktuelen Codes kann ich dazu keine konstruktive Antwort geben. Ich gehe aber davon aus, dass sich die Fehlermeldung wirklich auf value() und nicht auf valueMean() bezieht.

> Es gibt bei einigen Fragen die Möglichkeit "weiß ich nicht" anzuklicken, wobei dann ein Wert von -1 gesetzt wird.

Die Funktion valueMean() kann mit fehlenden Werten umgehen, Sie können daher direkt mit den ursprünglichen Variablen arbeiten.

> ob es Probleme beim Anzeigen mehrerer Seiten eines Ergebnisberichts gibt?

Mir wären keine Probleme bekannt. Haben Sie im Ergebnisbericht mehrere Seiten erstellt (und zeigen beide Seiten Inhalte) oder reicht der Inhalt einer Seite einfach über den verfügbaren Platz der Seite hinaus?
by s263017 (120 points)
edited by s263017
Danke für die Hinweise!
Ich konnte die Probleme beheben.

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

...