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:create:filters [04.08.2016 22:45] – alte Version wieder hergestellt (30.04.2016 02:44) adminde:create:filters [26.02.2017 15:04] admin
Zeile 113: Zeile 113:
 Für das folgende Beispiel nehmen wir an, dass auf Seite 2 im Fragebogen gefragt wurde, wie hoch das monatliche Einkommen sei. Zur Auswahl standen mehrere Kategorien: 1=Kein Einkommen, 2=bis 500 EUR, u.s.w. Diese Frage ist im Folgenden die Filterfrage. Für das folgende Beispiel nehmen wir an, dass auf Seite 2 im Fragebogen gefragt wurde, wie hoch das monatliche Einkommen sei. Zur Auswahl standen mehrere Kategorien: 1=Kein Einkommen, 2=bis 500 EUR, u.s.w. Diese Frage ist im Folgenden die Filterfrage.
  
-Nun ist es wichtig zu wissen, dass oFb - während Seite 2 erstellt wird - noch keine Ahnung hat, was der Befragte antworten wird. Die Seite wird nämlich komplett erstellt, dann beim Befragten angezeigt. Dieser wählt eine Option und klickt auf "Weiter". Erst mit dem Klick auf "Weiter" wird die Antwort zum oFb-Server übermittelt und gespeichert. Der Job des Servers ist es nun, Seite 3 anzuzeigen.+Nun ist es wichtig zu wissen, dass SoSci Survey - während Seite 2 erstellt wird - noch keine Ahnung hat, was der Befragte antworten wird. Die Seite wird zunächst komplett erstellt, dann beim Befragten angezeigt. Dieser wählt eine Option und klickt auf "Weiter". Erst mit dem Klick auf "Weiter" wird die Antwort zur Seite 2 an den Befragungsserver übermittelt und gespeichert. Direkt im Anschluss erstellt der Server Seite 3 und übermittelt diese zum Ausfüllen an den Teilnehmern.
  
 {{fig.filters.principle.png?nolink|Prinzipielle Funktion von Filtern durch Springen}} {{fig.filters.principle.png?nolink|Prinzipielle Funktion von Filtern durch Springen}}
  
-Langer Rede kurzer Sinn: Eine Antwort von Seite 2 ist dem Server erst auf Seite 3 bekannt. Daher darf der Filter zur Frage frühestens auf Seite 3 erstellt werden.+Das Wesentliche dabei: Eine Antwort von Seite 2 ist dem Server erst auf Seite 3 bekannt. Daher darf der Filter zur Frage frühestens auf Seite 3 erstellt werden.
  
 Was aber nun, wenn die Fragen auf Seite 3 nur angezeigt werden sollen, wenn die erste Option ausgewählt wurde? Dann muss man ein wenig um die Ecke denken: Dazu leitet der Filter alle Befragten, die __nicht__ die erste Option gewählt haben, direkt zur Seite 4 weiter. Was aber nun, wenn die Fragen auf Seite 3 nur angezeigt werden sollen, wenn die erste Option ausgewählt wurde? Dann muss man ein wenig um die Ecke denken: Dazu leitet der Filter alle Befragten, die __nicht__ die erste Option gewählt haben, direkt zur Seite 4 weiter.
  
-Nach diesem Prinzip funktionieren in oFb die meisten Filter: Man überspringt einzelne Fragen oder ganze Seiten. Unter Umständen müssen dafür gleich mehrere Filter hintereinander gehängt werden:+Nach diesem Prinzip funktionieren die meisten Filter in SoSci Survey: Man überspringt einzelne Fragen oder ganze Seiten. Unter Umständen müssen dafür gleich mehrere Filter hintereinander gehängt werden:
  
 Zeigt man z.B. auf Seite 10 eine Mehrfachauswahl mit 5 Automarken und möchte zu den bekannten Marken jeweils 4 Fragen (über 2 Seiten) stellen, dann braucht man 5 Filter. Der erste Filter prüft auf Seite 11, ob das erste Item der Mehrfachauswahl angeklickt wurde. Falls nicht, springt er direkt weiter zu Seite 13 (Seiten 11 und 12 enthalten die Fragen zur ersten Marke). Auf Seite 13 steht der nächste Filter. Falls die zweite Marke (also das zweite Item) nicht angeklickt wurde, geht es direkt weiter zu Seite 15. Zeigt man z.B. auf Seite 10 eine Mehrfachauswahl mit 5 Automarken und möchte zu den bekannten Marken jeweils 4 Fragen (über 2 Seiten) stellen, dann braucht man 5 Filter. Der erste Filter prüft auf Seite 11, ob das erste Item der Mehrfachauswahl angeklickt wurde. Falls nicht, springt er direkt weiter zu Seite 13 (Seiten 11 und 12 enthalten die Fragen zur ersten Marke). Auf Seite 13 steht der nächste Filter. Falls die zweite Marke (also das zweite Item) nicht angeklickt wurde, geht es direkt weiter zu Seite 15.
  
-Falls die dritte Marke angekreuzt wurde, dann reagiert der Filter auf Seite 15 nicht. Es werden ganz normal die Fragen der Seite angezeigt und oFb wartet darauf, dass der Befragte auf "Weiter" klickt. Dann wird Seite 16 mit den beiden Fragen angezeigt. Erst auf Seite 17 ist der nächste Filter: Entweder er leitet den Teilnehmer direkt weiter zu Seite 19 oder eben nicht...+Falls die dritte Marke angekreuzt wurde, dann reagiert der Filter auf Seite 15 nicht. Es werden ganz normal die Fragen der Seite angezeigt und SoSci Survey wartet darauf, dass der Befragte auf "Weiter" klickt. Dann wird Seite 16 mit den beiden Fragen angezeigt. Erst auf Seite 17 ist der nächste Filter: Entweder er leitet den Teilnehmer direkt weiter zu Seite 19 oder eben nicht...
  
 {{fig.filters.jump.png?nolink|Überspringen von Fragen durch Filter}} {{fig.filters.jump.png?nolink|Überspringen von Fragen durch Filter}}
 +
  
 ===== Bedingungen ===== ===== Bedingungen =====
Zeile 203: Zeile 204:
   * Es gibt zwei einfache Möglichkeiten um herauszufinden, welcher Wert für eine Antwort gespeichert wird. Einmal die **Variablen-Übersicht** und zum zweiten den Debug-Modus beim Testen eines Fragebogens ([[questionnaire|Fragebogen zusammenstellen]]).   * Es gibt zwei einfache Möglichkeiten um herauszufinden, welcher Wert für eine Antwort gespeichert wird. Einmal die **Variablen-Übersicht** und zum zweiten den Debug-Modus beim Testen eines Fragebogens ([[questionnaire|Fragebogen zusammenstellen]]).
   * Die Funktion ''[[:de:create:functions:value|value()]]'' liefert die Antwort eines Befragten zurück. Allerdings funktioniert das erst, wenn der Befragte die Antwort mit einem Klick auf "Weiter" abgeschickt hat -- also erst auf der nächsten Seite.   * Die Funktion ''[[:de:create:functions:value|value()]]'' liefert die Antwort eines Befragten zurück. Allerdings funktioniert das erst, wenn der Befragte die Antwort mit einem Klick auf "Weiter" abgeschickt hat -- also erst auf der nächsten Seite.
-  * Alle oFb-spezifischen Funktionen sind unter [[functions|PHP-Funktionen]] aufgelistet und werden dort erklärt.+  * Alle Funktionen, die speziell von SoSci Survey bereitgestellt werden, sind unter [[functions|PHP-Funktionen]] aufgelistet und werden dort erklärt.
  
 ===== Anweisungs-Blöcke ===== ===== Anweisungs-Blöcke =====
Zeile 232: Zeile 233:
 Zurück zur Anwendung von Wenn-Dann-Bedingungen als Filterfragen: Jede Frage kann prinzipiell zur Filterfrage werden. Und zwar immer dann, wenn die Antwort auf die Frage in einer Bedingung verwendet wird. Zunächst muss also eine normale Frage gestellt werden. Zurück zur Anwendung von Wenn-Dann-Bedingungen als Filterfragen: Jede Frage kann prinzipiell zur Filterfrage werden. Und zwar immer dann, wenn die Antwort auf die Frage in einer Bedingung verwendet wird. Zunächst muss also eine normale Frage gestellt werden.
  
-  - Legen Sie im **Fragenkatalog** eine neue Rubrik an, //Kennung// "TF", //Bezeichnung// "Test für Filter" +  - Legen Sie im **Fragenkatalog** eine neue Rubrik an, //Kennung// "TF", //Beschreibung// "Test für Filter" 
-  - In der Rubrik legen Sie eine //neue Frage// an, //Bezeichnung// "Filter-Auswahl", //Typ// "Auswahl"+  - In der Rubrik legen Sie eine //neue Frage// an, //Beschreibung// "Filter-Auswahl", //Typ// "Auswahl"
   - Tragen Sie Folgendes in die Frage TF01 ein:   - Tragen Sie Folgendes in die Frage TF01 ein:
     - //Fragetext// "Haben Sie zu Hause einen Internet-Anschluss?",     - //Fragetext// "Haben Sie zu Hause einen Internet-Anschluss?",
Zeile 328: Zeile 329:
 **Tipp:** Nach Abfrage einiger Eckdaten sehen Sie, dass ein Teilnehmer nicht zur Zielgruppe der Befragung gehört? [[#screenoutungeeignete_teilnehmer_filtern|Screenout: Ungeeignete Teilnehmer filtern]] **Tipp:** Nach Abfrage einiger Eckdaten sehen Sie, dass ein Teilnehmer nicht zur Zielgruppe der Befragung gehört? [[#screenoutungeeignete_teilnehmer_filtern|Screenout: Ungeeignete Teilnehmer filtern]]
  
-**Tipp:** Seit oFb Version 2.2.02 werden leere Seiten standardmäßig übersprungen. Sie müssen sich um die Problematik leerer Seiten also oftmals keine Gedanken mehr machen.+**Tipp:** Seit SoSci Survey Version 2.2.02 werden leere Seiten standardmäßig übersprungen. Sie müssen sich um die Problematik leerer Seiten also oftmals keine Gedanken mehr machen.
  
 ===== Die richtige Kennung ===== ===== Die richtige Kennung =====
Zeile 391: Zeile 392:
   * Sehen Sie in der **Variablen-Übersicht** nach, ob die Kennung der Variable stimmt.   * Sehen Sie in der **Variablen-Übersicht** nach, ob die Kennung der Variable stimmt.
   * Der Filter darf nicht (!) auf derselben Seite stehen wie die Filterfrage. Sonst wird der Filter schon ausgeführt, bevor der Teilnehmer seine Antwort abgeschickt hat.   * Der Filter darf nicht (!) auf derselben Seite stehen wie die Filterfrage. Sonst wird der Filter schon ausgeführt, bevor der Teilnehmer seine Antwort abgeschickt hat.
-  * Starten Sie den Fragebogen regelmäßig im Debug-Modus. Dann verrät oFb nach jedem Klick auf //Weiter//, welcher Wert unter welcher Kennung gespeichert wurde.+  * Starten Sie den Fragebogen regelmäßig im Debug-Modus. Dann verrät SoSci Survey nach jedem Klick auf //Weiter//, welcher Wert unter welcher Kennung gespeichert wurde.
   * Der Debug-Modus ist im Übrigen auch sehr hilfreich, wenn leere Seiten erscheinen oder ''goToPage()''-Befehle scheinbar unsinnige Ergebnisse liefern. Für jeden Sprung mit ''goToPage()'' erscheint in der Debug-Information eine Zeile "Erstelle Seite X".   * Der Debug-Modus ist im Übrigen auch sehr hilfreich, wenn leere Seiten erscheinen oder ''goToPage()''-Befehle scheinbar unsinnige Ergebnisse liefern. Für jeden Sprung mit ''goToPage()'' erscheint in der Debug-Information eine Zeile "Erstelle Seite X".
-  * Lassen Sie sich doch einfach von oFb sagen, was gerade für ein Item/eine Frage gespeichert ist.+  * Lassen Sie sich doch einfach von SoSci Survey sagen, was gerade für ein Item/eine Frage gespeichert ist.
     * Sie können sowohl den Wert anzeigen lassen, den value() zurückliefert\\ ''debug('TF02_03');''     * Sie können sowohl den Wert anzeigen lassen, den value() zurückliefert\\ ''debug('TF02_03');''
     * wie auch die Frage beantworten lassen, ob eine Bedingung zutrifft (true) oder nicht (false):\\ ''debug(value('TF02_02') == 2);''     * wie auch die Frage beantworten lassen, ob eine Bedingung zutrifft (true) oder nicht (false):\\ ''debug(value('TF02_02') == 2);''
de/create/filters.txt · Zuletzt geändert: 06.11.2019 15:55 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