0 votes
in SoSci Survey (dt.) by s065745 (220 points)

Ich erhebe eine Kurzskala der Big Five und würde gerne den Teilnehmern danach ein individualisiertes Feedback anhand von Balkendiagrammen geben (Höhe Extraversion, Höhe Gewissenhaftigkeit, etc.).

Dafür muss ich jeweils von zwei Items den Mittelwert rechnen, da immer zwei Items eine Eigenschaft (z.B. Extraversion messen). Leider wird mir in Soscisurvey angezeigt, dass z.B.
"Die Kennung BF01_01 , die in der Funktion valueMean() angegeben wurde, (...) keine Frage- sondern eine Item-Kennung" ist.

Meine Frage wäre nun, ob es möglich ist, einige Items aus einem Fragebogen separat auszuwerten oder ob man nur Teilnehmerfeedback für einen ganzen Fragebogen geben kann. Wenn es möglich ist, wäre die Frage, wie es funktioniert :-)

1 Answer

0 votes
by SoSci Survey (328k points)

Allgemeine Hinweise finden Sie hier: Persönliche Auswertung für den Teilnehmer

Leider wird mir in Soscisurvey angezeigt, dass z.B.
"Die Kennung BF01_01 , die in der Funktion valueMean() angegeben wurde, (...) keine Frage- sondern eine Item-Kennung" ist.

Vermutlich haben Sie die Variablen nicht als Array definiert. Richtig wäre:

$mean1 = valueMean(array('BF01_01', 'BF01_02'));

Oder gleichbedeutend:

$mean1 = valueMean(['BF01_01', 'BF01_02']);

Das array() bzw. die eckigen Klammern sind entscheidend.

by s065745 (220 points)
Vielen Dank für Ihren Hinweis.

Leider funktioniert der Code immer noch nicht einwandfrei. Ich habe den Code für eine Eigenschaft (hier Extraversion) ausprobiert. Die Skala geht von 1-5. Ich würde gerne den Code so gestalten, dass Personen mit einem hohen Score (z.B. 4) weit rechts auf dem Balkendiagram sind.

Mein HTML Code (gespeichert als Textbaustein) ist:
<!-- Überschrift für die Abbildung -->
<div class="title" style="text-align: center">%title%</div>
 
<div style="position: relative">
  <!-- Die Skala liegt im Hintergrund -->
  <div style="margin: 0 auto; width: 400px; height: 25px; background-image:url('ofb://slider.scale.sd-blue400S')">
      <!-- Zur Platzierung der Markierung wird eine Einheit (Bereich 0 bis 1) als Blockelement platziert -->
      <div style="position: absolute; top: -2px; left: 50%; width: 65px; height: 27px">
        <!-- Die eigentliche Markierung wird an der richtigen Stelle eingefügt -->
        <img src="ofb://slider.button.rhomb" alt="" style="position: absolute; left: %zValue100%%; margin-left: -8px" />
      </div>
  </div>
</div>

Mein PHP Code ist:
// Wert/Ergebnis ermitteln
$value = valueMean(array('BF01_01', 'BF01_02'));

// Textbaustein verwenden (nur, wenn $value einen gültigen Wert geliefert hat)
if ($value > 0) {
  show('responseSD', array(
    '%title%' => 'Extraversion',
    '$value'));
}

Als Fehler wird mir angezeigt:

"Die Frage mit der Kennung responseSD gibt es im Projekt nicht."

Könnten Sie mir hier weiterhelfen? Könnten Sie mir ggf. auch sagen, wie ich den HTML Code so anpasse, dass er auf meine 5-er Skala passt?

Vielen Dank für Ihre Hilfe!
by SoSci Survey (328k points)
> Die Frage mit der Kennung responseSD gibt es im Projekt nicht.

Damit ist folgende Zeile gemeint:

show('responseSD', array(...

Sie müssen bitte zunächst einen Textbaustein mit der Kennung "responseSD" anlegen (s. Anleitung), wenn Sie diesen mit show() aufrufen und zur Anzeige verwenden möchten.
by s065745 (220 points)
Dies habe ich gemacht, leider erscheint immer noch dieser Fehler.
by SoSci Survey (328k points)
Vermutlich haben Sie den Textbaustein im Fragenkatalog angelegt. Das ist prinzipiell in Ordnung, geben Sie dann aber bitte im show()-Befehl die vierstellige Kennung ein. Das "responseSD" funktioniert nur, wenn Sie den Textbaustein unter "Textbausteine u. Beschriftungen" anlegen. Falls es daran nicht liegt, prüfen Sie bitte die Groß-/Kleinschreibung.
by s065745 (220 points)
Leider habe ich alles versucht und es funktioniert immer noch nicht. Man muss doch den Textbaustein "responseSD" mit dem HTML Code in den Fragebogen einfügen oberhalb des PHP Codes oder? Leider kommt immer noch die Fehlermeldung, dass die Frage ResponseSD nicht gefunden wird.
by SoSci Survey (328k points)
> Man muss doch den Textbaustein "responseSD" mit dem HTML Code in den Fragebogen einfügen oberhalb des PHP Codes oder?

Nein, der Befehl show() fügt den Textbaustein ein.

Haben Sie den Text (HTML-Code) im Fragenkatalog oder unter "Textbausteine u. Beschriftung" erstellt?
by s065745 (220 points)
Ich habe den HTML Code unter "Textbausteine" erstellt. Also alles so gemacht, wie es in der Anleitung stand.
by SoSci Survey (328k points)
Bitte prüfen Sie nochmal, was genau (inkl. Groß-/Kleinschreibung und Leerzeichen) als Kennung für den Textbaustein eingetragen ist. Sollte es daran nicht liegen, kopieren Sie den HTML-Code bitte einmal als neuen "Text" in den Fragenkatalog und verwenden Sie die vierstellige Kennung des neuen Textes.

Falls es damit klappt, müsste ich die Anleitung korrigieren...
by s065745 (220 points)
Es hat jetzt geklappt, in dem ich den HTML Code als Text im Fragenkatalog eingefügt habe. Leider funktioniert der Schieberegler jedoch immer noch nicht. Meine Skala besteht aus 5 Items (1-5). Leider bewegt sich der Schieberegler jedoch nicht je nachdem welchen valuemean die Person hat.

HTML Code:

<div class="title" style="text-align: center">%title%</div>
 
<div style="position: relative">
  <div style="margin: 0 auto; width: 400px; height: 25px; background-image:url('ofb://slider.scale.sd-blue400S')">
      <div style="width, 307px; margin: 0 auto; position: relative;">
 <img src="ofb://slider.button.rhomb" alt="" style="position: absolute; left: %xValue*100%%; margin-left: -6px" />
      </div>
  </div>
</div>

PHP Code:
// Wert/Ergebnis ermitteln
$value = valueMean(array('BF01_01', 'BF01_02'));
// Transformation von 1..6 auf den Wertebereich 0..1
$x = ($value) / 5;
// Textbaustein verwenden (nur, wenn $value einen gültigen Wert geliefert hat)
if ($value > 0) {
  show('BF02', array(
    '%title%' => 'Extraversion',
    '%xValue%' => $x
  ));
}
by SoSci Survey (328k points)
Wenn Sie im PHP-Code folgende Zeilen ergänzen, was zeigt die Debug-Information denn an?

debug($x);
debug($value);

Bitte beachten Sie auch, dass Sie Anleitung empfiehlt, die Multiplkation mit 100 direkt vorzunehmen (im PHP-Code) und nicht erst im Platzhalter im HTML-Code: https://www.soscisurvey.de/help/doku.php/de:create:feedback-visual
by s065745 (220 points)
reshown by s065745
Leider wird mir beim debug kein Fehler angezeigt.

Ich habe den HTML Code und PHP nun noch einmal angepasst, leider verschiebt sich der Schieberegler je nach Itemausprägung immer noch nicht.

PHP:

$value = valueMean(array('BF01_01', 'BF01_02'));
$x = ($value) / 5;
show('BF02', array('%title%' => 'Extraversion','%xValue%' => round($x*100)));

debug($x);
debug($value);

HTML:

<div class="title" style="text-align: center">%title%</div>
  <div style="position= relative; margin: 0 auto; width: 400px; height: 25px; background-image:url('ofb://slider.scale.sd-blue400S')">


      <div style="width: 325px; margin= 0 auto; position: relative;">
        <img src="ofb://slider.button.rhomb" alt=" " style="position: absolute; left: %xValue%; margin-left: -6px" />
      </div>
  </div>

      
Ich vermute, dass beim HTML Code ein Fehler in der Verschiebung der Skala je nach Ausprägung des Items ist. Meine Skala geht von 1 bis 5. Personen mit einem Mittelwert von 1 sollen den Schieberegler ganz links haben und Personen mit einer 5 ganz rechts.

Könnten Sie mir hier weiterhelfen? Ich versuche es schon sehr lange, dass es klappt.
by SoSci Survey (328k points)
> Leider wird mir beim debug kein Fehler angezeigt.

Es geht auch nicht um Fehler, sondern um Information :)

Im Fragebogen sollte nun angezeigt werden, was in den Variablen $x und $value gespeichert ist.

> Könnten Sie mir hier weiterhelfen? Ich versuche es schon sehr lange, dass es klappt.

In diesem Fall empfehle ich, dass Sie den PHP- und HTML-Code aus der Anleitung verwenden. Dieser wurde letztes Jahr gezielt aktualisiert, um einige Fallstricke zu beseitigen: https://www.soscisurvey.de/help/doku.php/de:create:feedback-visual
by s065745 (220 points)
Ich habe es genau nach der Anleitung gemacht. Das Problem ist nur, dass meine Skala ja anders ist (Werte 1-5), wodurch der Schieberegler mit dem Code der in der Anleitung ist nicht funktioniert. Der Schieberegler bewegt sich nicht. Könnten Sie mir sagen, was ich für meine Skala anpassen muss an dem ursprünglichen Code?
by SoSci Survey (328k points)
> Ich habe es genau nach der Anleitung gemacht.

Pardon, ich hatte übersehen, dass Sie das %xValue*100%% bereits ausgetauscht hatten.

> Der Schieberegler bewegt sich nicht.

Das kann aber nicht alleine an den anderen Werten liegen.

Wenn Sie so freundlich wären und die Ausgabe des debug()-Befehls posten könnten (das sollte im Debug-Modus direkt in der Seite angezeigt werden), könnte ich eine hilfreichere Antwort geben.
by s065745 (220 points)
Wenn ich die Seite vorher anklicke und für BF01_01 und BF01_02 5 anklicke kommt das:

Debug-Information für $value:
$value = 5 (double)

Debug-Information für $x:
$x = 0 (integer)


Wenn ich direkt auf die Seite mit dem PHP Code gehe, kommt das:

Debug-Information für $value:
$value = false (boolean)

Debug-Information für $x:
$x = 0 (integer)
by SoSci Survey (328k points)
> Wenn ich die Seite vorher anklicke und für BF01_01 und BF01_02 5 anklicke kommt das

Ich vermute, Sie haben auf der Seite vorher gestartet und sind dann mit "Weiter" zu der Seite mit dem eigentlichen Code. Das wird auf jeden Fall notwendig sein, denn sonst hätten Sie ja keine Daten.

Ich bin denkbar irritiert darüber, dass $x den Wert 0 hat. Eigentlich sollte es ja 0,2 sein. Ändert sich etwas, wenn Sie die Klammern weglassen, also:

$x = $value / 5;

Das dürfte eigentlich nicht der Fall sein - aber nachdem die Berechnung nicht das korrekte Ergebnis liefert, muss irgendwo ja ein Fehler vorliegen...

Sie haben auch sonst nichts im PHP-Code als das was Sie oben gepostet haben, oder?

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

...