$value = valueMean('AB01');
html('
Sie bewerten das aktuelle Fernsehprogramm auf einer Skala von 1 und 10
durchschnittlich mit '.sprintf('%1.1f', $value).'. Deutschlandweit liegt
dieser Wert im Mittel bei 6.3
');
==== Einzelne Werte (II) ====
Eventuell möchte man dem Teilnehmer auch -- abhängig vom Ergebnis -- unterschiedliche Textbausteine anzeigen. Dafür kommt ein [[:de:create:filters|Filter]] zum Einsatz:
// Wert/Ergebnis ermitteln
$value = valueMean('AB01_01', 'AB01_05', 'AB01_09');
// z-Transformation
$zValue = ($value - 5) / 2.8;
// Anzeige des richtigen Textbausteins
if ($value < 0) {
// Keine gültigen Daten in $value - keine Ausgabe
} elseif ($zValue < -2) {
text('resultExtraSD-2');
} elseif ($zValue < -1) {
text('resultExtraSD-1');
} elseif ($zValue <= 1) {
text('resultExtraSD-0');
} elseif ($zValue < 2) {
text('resultExtraSD+1');
} else {
text('resultExtraSD+2');
}
**Hinweis:** Die Zeile ''$zValue = ($value - 5) / 2.8;'' nimmt eine z-Transformation unter der Annahme vor, dass die Werte einer Verteilung mit dem Mittelwert 5 und der Standardabweichung 2,8 folgen. Die resultierenden Werte ''$zValue'' liegen dann in 99% der Fälle im Bereich ''[-3;+3]''. Sie müssen keine z-Transformation vornehmen, aber wenn Sie es tun, müssen Sie die Werte anpassen.
==== Mehrere Werte ====
Mehrere Werte werden häufig tabellarisch dargestellt. Am einfachsten funktioniert dies mit einem Textbaustein und Platzhaltern. Speichern Sie z.B. den folgenden HTML-Code unter **Textbausteine u. Beschriftungen** im neuen Textbaustein //results// (Darstellung "HTML-Code").
Eigenschaft
Ihr Wert
Vergleichswert
Extraversion
%val-extra%
3.2
Neurotizismus
%val-neuro%
2.4
Die Platzhalter können anschließend direkt im Befehl ''[[:de:create:functions:text]]'' angegeben werden. Alternativ kann man ''[[:de:create:functions:replace]]'' verwenden.
show('result', array(
'%val-extra%' => valueMean('AB01_01', 'AB01_05', 'AB01_09'),
'%val-neuro%' => valueMean('AB01_02', 'AB01_06', 'AB01_10')
));
===== Visuelle Darstellung =====
Für die visuelle Darstellung stehen unterschiedliche Möglichkeiten zur Verfügung.
==== Einzelne Werte ====
Für einzelne Werte (z.B. ein IAT-Ergebnis) bietet sich HTML-Code an, der eine Skala und darauf eine Markierung anzeigt.
{{:de:create:exp.feedback-visual.textelement.png?nolink|Beispiel für die visuelle Darstellung eines einzelnen Werts}}
Speichern Sie den folgenden HTML-Code als neuen Text im Fragenkatalog (im Folgenden wird angenommen, dass er die Kennung "RS01" erhält).
%title%
Der HTML-Code verwendet zwei Platzhalter: ''%title%'' und ''%zValue100%''. Dieser HTML-Code ist dafür ausgelegt, einen z-Wert zwischen -3 und +3 anzuzeigen. Entsprechend sähe die Verwendung aus wie folgt:
// Wert/Ergebnis ermitteln
$value = valueMean('AB01_01', 'AB01_05', 'AB01_09');
// z-Transformation
$zValue = ($value - 5) / 2.8;
// Extremwerte filtern
if ($zValue < -3) {
$zValue = -3;
}
if ($zValue > 3) {
$zValue = 3;
}
// Textbaustein verwenden (nur, wenn $value einen gültigen Wert geliefert hat)
if ($value > 0) {
show('RS01', array(
'%title%' => 'Extraversion',
'%zValue100%' => (string)round($zValue * 100)
));
}
**Hinweis:** Die Zeile ''$zValue = ($value - 5) / 2.8'' nimmt eine z-Transformation unter der Annahme vor, dass die Werte einer Verteilung mit dem Mittelwert 5 und der Standardabweichung 2,8 folgen. Die resultierenden Werte ''$zValue'' liegen dann in 99% der Fälle im Bereich ''[-3;+3]''. Sie müssen keine z-Transformation vornehmen, aber wenn Sie es tun, müssen Sie die Werte anpassen.
==== Mehrere Werte (I) ====
Mit Hilfe der Funktion ''[[:de:create:functions:diagram2]]'' lassen sich ausgewählte Diagramme im Fragebogen platzieren. Zur Verwendung sei auf die Dokumentation der Funktion verwiesen. Eine optimierte Funktion ''chart()'' wird in künftigen Versionen von SoSci Survey zur Verfügung stehen.
==== Mehrere Werte (II) ====
Mit der Bibliothek ChartJS können sehr schicke Diagramme im Fragebogen angezeigt werden. Wenn die Kategorie-Beschriftungen im Array ''$labels'' gespeichert sind, die Ergebnisse im Array ''$ownData'' und Referenzdaten im Array ''$refData'', kann man mit folgendem Text (im Beispiel hat er die Kennung "CH01", als //Darstellung// stellen Sie bitte "HTML_Code" ein) und dem zugehörigen PHP-Code ein Balken-Diagramm anzeigen. Erklärungen und Details sind der [[https://www.chartjs.org/|ChartJS Dokumentation]] zu entnehmen.
// Bibliothek ChartJS verfügbar machen
library('ChartJS');
// Testdaten (hier würde man Daten aus dem Datensatz auslesen)
$labels = ['Motivation', 'Engagement', 'Qualifikation'];
$ownData = [57, 42, 80];
$refData = [52, 48, 74];
// Textbaustein mit dem HTML-Code für das Chart einbinden
show('TX09', [
'%labels%' => json_encode($labels),
'%ownData%' => json_encode($ownData),
'%refData%' => json_encode($refData)
]);