Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:results:report [07.01.2019 22:43] adminde:results:report [07.01.2019 23:19] – [Elemente] admin
Zeile 68: Zeile 68:
  
   * ''text()'' -- Bindet einen Text ein.   * ''text()'' -- Bindet einen Text ein.
-  * ''content()'' -- Bindet einen Textbaustein ein, der unter **Textbausteine u. Beschriftungen** angelegt wurde.+  * ''content()'' -- Bindet einen Textbaustein ein, der unter **Textbausteine u. Beschriftungen** angelegt wurde. Hier ist in eingeschränktem Umfang auch HTML-Code möglich.
   * ''image()'' -- Bindet eine Grafik ein, z.B. PNG, JPG oder SVG.   * ''image()'' -- Bindet eine Grafik ein, z.B. PNG, JPG oder SVG.
   * ''spacing()'' -- Sorgt für vertikalen Abstand zwischen zwei Elementen, als Parameter wird der Abstand im Millimetern angegeben.   * ''spacing()'' -- Sorgt für vertikalen Abstand zwischen zwei Elementen, als Parameter wird der Abstand im Millimetern angegeben.
   * ''line()'' -- Zeichnet einen Strich oder ein Polygon, als Parameter werden Koordinaten (jeweils als Array mit 2 Elementen) und eventuell weitere Darstellungparameter übergeben.   * ''line()'' -- Zeichnet einen Strich oder ein Polygon, als Parameter werden Koordinaten (jeweils als Array mit 2 Elementen) und eventuell weitere Darstellungparameter übergeben.
-  * ''box()'' -- definiert einen neuen Anzeigebereich innerhalb des übergeordneten Anzeigebereichs und kann (optional) eine Hintergrund- und Rahmenfarbe haben.+  * ''box()'' -- Definiert einen neuen Anzeigebereich innerhalb des übergeordneten Anzeigebereichs und kann (optional) eine Hintergrund- und Rahmenfarbe haben
 +  * ''circle()'' -- Zeichnet einen Kreis bzw. eine Ellipse in den definierten Anzeigebereich.
  
 Der PHP-Code einer Seite könnte dann wie folgt aussehen. Dieser Code würde unter den bereits bekannten Texten 6 mm zusätzlichen Abstand lassen, darunter den Textbaustein mit Kennung "text01" anzeigen und darunter -- in einem weiteren Anzeigebereich -- ein auf dem Kopf stehendes Dreieck zeichnen. Der PHP-Code einer Seite könnte dann wie folgt aussehen. Dieser Code würde unter den bereits bekannten Texten 6 mm zusätzlichen Abstand lassen, darunter den Textbaustein mit Kennung "text01" anzeigen und darunter -- in einem weiteren Anzeigebereich -- ein auf dem Kopf stehendes Dreieck zeichnen.
Zeile 193: Zeile 194:
  
  
 +===== SVG-Grafiken =====
 +
 +SVG-Grafiken sind Vektor-Grafiken, sie können z.B. mit der Software [[https://inkscape.org/de/|InkScape]] erstellt werden. Vektor-Grafiken haben gegenüber Pixel-Grafiken (PNG, JPG) zwei große Vorteile:
 +
 +  - Sie erscheinen auch im Ausdruck des PDFs noch gestochen scharf.
 +  - Sie können dynamisch manipuliert werden.
 +
 +Für letzteres stehen in Ergebnisberichten die Funktionen ''svgPrepare()'' und ''svgSetStyle()'' zur Verfügung. Konkret können damit einzelne Elemente der Grafik ausgeblendet oder nach Bedarf eingefärbt werden. Dies erlaubt sehr ansprechende Charts oder z.B. das vom Befragungsergebnis abhängige Einfärben von Flussdiagrammen.
 +
 +Die Funktionen werden wie folgt verwendet:
 +
 +<code php>
 +$svg = svgPrepare('chart.svg');
 +$scores = [
 +  'alpha' => round(value('IV01_01') / 5 * 100),
 +  'beta' => round(value('IV01_02') / 5 * 100),
 +  'gamma' => round(value('IV01_03') / 5 * 100)
 +);
 +foreach ($scores as $id => $score) {
 +  $color = getColor($score);
 +  svgSetStyle($svg, $id, ['fill' => $color]);
 +}
 +add(
 +  image($svg),
 +  ['x' => 0, 'y' => 40, 'width' => 150]
 +);
 +</code>
 +
 +In diesem Beispiel werden aus einem einzelnen Interview mittels ''value()'' die Werte in den Variablen "IV01_01" bis "IV01_03" ausgelesen. Anschließend werden sie von 0..5 auf 0..100 transformiert und dann wird mit einer (in der Vorlage definierten) Funktion ''getColor()'' aus dem Punktwert eine Farbe bestimmt, die anschließend mit der Funktion ''svgSetStyle()'' in die SVG-Elemente mit der ID "alpha", "beta" und "gamma" geschrieben wird.
 +
 +Die IDs der SCG-Elemente muss man vorab in InkScape manuell festlegen, damit ''svgSetStyle()'' sie findet. Zum Ausblenden von Elemente setzt man einfach deren Eigenschaft '''opacity''' auf den Wert 0.
 +
 +Zuletzt wird die angepasste Grafik mittels ''image()'' im Ergebnisbericht ausgegeben.
 +
 +
 +===== Daten aus der Befragung =====
 +
 +Oben wurde bereits gezeigt, dass mittels ''value()'' einzelne Daten aus dem Datensatz abgerufen werden können, so wie auch im Fragebogen selbst. Generell muss man zwei Arten von Daten unterscheiden:
 +
 +  * Daten zum aktiven Interview (Individual-Daten) -- diese sind vor allem dann erforderlich, wenn man dem Teilnehmer ein individuelles Feedback geben möchte.
 +  * Daten aus dem kompletten Datensatz oder einer Teilgruppe (Aggregat-Daten) -- vor allem für Ergebnisberichte am Ende der Erhebung hilfreich.
 +
 +
 +==== Feedback für den Teilnehmer ====
 +
 +Entsprechend den beiden Einsatzbereichen gibt es zwei Möglichkeiten, den Ergebnisbericht zu erzeugen. Entweder per Link im Fragebogen. Die Funktion ''report()'' (zur Verwendung unter **Fragebogen zusammenstellen**) erwartet die Kennung des Ergebnisberichts und liefert eine URL, welche dann im HTML-Code verwendet werden kann:
 +
 +<code php>
 +replace('%reportURL%', reportURL('report'));
 +text('button_report');
 +
 +option('nextbutton', false);
 +option('breakbutton', false);
 +option('progress', false);
 +</code>
 +
 +Dazu passend der Textbaustein "button_report":
 +
 +<code html>
 +<p style="text-align: center;">
 +  <a href="%reportURL%" target="_blank" style="font-weight: bold; text-decoration: none; padding: 1em 0.5em; border: 2px solid;">
 +  Ihr Ergebnis herunterladen
 +  </a>
 +</p>
 +</code>
 +
 +Es ist mitunter hilfreich, [[:de:general:indices|Skalenindizes]] bereits im Fragebogen mittels ''[[:de:create:functions:valuemean]]'' zu berechnen und mittels ''[[:de:create:functions:put]]'' in einer internen Variable abzuspeichern.
 +
 +Im Ergebnisbericht stehen die Funktionen ''value()'' und ''valueMean()'' zur Verfügung, um Daten aus einem einzelnen Fall (CASE) abzurufen.
 +
 +Zum Testen von Feedback-Ergebnisberichten können Sie in den Einstellungen des Ergebnisberichts ({{:button.settings2.png?nolink|Einstellungen}}) einen Fall (CASE) definieren, der für die Vorschau verwendet wird.
 +
 +
 +==== Ergebnisbericht zur Befragung ====
 +
 +Für die Auswertung des Datensatzes können in den Einstellungen des Ergebnisberichts ({{:button.settings2.png?nolink|Einstellungen}}) zunächst einmal Auswahlkriterien definiert werden. Immerhin sollen ungültige Fälle (Abbrecher, Durchklicker) die Ergebnisse ja nicht verzerren.
 +
 +Dann sollen vielleicht [[:de:results:analyses#definition_von_teilgruppen|Teilgruppen für die Analyse]] definiert weden. Nachfolgend wird klar, weshalb man diesen eine Kennung geben kann (muss).
 +
 +Für die Auswertung selbst stehen dann folgenden Funktionen zur Verfügung:
 +
 +  * ''int **sampleSize**([string //GruppenKennung//])''\\ Liefert die Anzahl der Teilnehmer (entsprechend den im Ergebnisbericht definierten Auswahlkriterien), entweder für den gesamten Datensatz oder für die Teilgruppe mit der Kennung //GruppenKennung//.
 +  * ''int **sampleBase**(string //VariablenKennung//, [string //GruppenKennung//, boolean //NegativeErlauben//)''\\ Liefert die Anzahl gültiger Werte für die Variable mit der Kennung //VariablenKennung// in der Teilgruppe mit der Kennung //GruppenKennung//.
 +  * ''float **sampleMean**(string //VariablenKennung//, [string //GruppenKennung//, boolean //NegativeErlauben//)''\\ Liefert den Mittelwert der Antworten bzw. Antwortcodes für die Variable mit der Kennung //VariablenKennung//.
 +  * ''float **sampleSD**(string //VariablenKennung//, [string //GruppenKennung//, boolean //NegativeErlauben//)''\\ Liefert die Standardabweichung.
 +  * ''array **sampleFrequencies**(string //VariablenKennung//, [string //GruppenKennung//])''\\ Liefert ein Array mit den Antworten oder Antwortcodes und der Häufigkeit.
 +  * ''array **sampleResponses**(string //VariablenKennung//, [string //GruppenKennung//, boolean //Sortieren//, int //MindestLänge//, int //MaximalLänge//])''\\ Liefert eine Liste aller (offenen) Antworten auf die Variable mit der Kennung //VariablenKennung//.
de/results/report.txt · Zuletzt geändert: 13.12.2023 21:20 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki