[[put()]]
Übersetzungen dieser Seite:
 

Dies ist eine alte Version des Dokuments!


put()

void put(string Variable, mixed Wert)

Mit der Funktion put() können Sie einen einzelnen Wert im Datensatz abspeichern. put() wird verwendet, wenn der Fragebogen einen Wert berechnet oder würfelt – und man diesen Wert in der Auswertung benötigt. Wird beispielsweise der Stimulus einer Frage zufällig variiert, dann muss man für die Auswertung wissen, wozu der Befragte sich geäußert hat.

  • Variable
    Die Kennung der internen Variable (s. unten), in welcher der Wert gespeichert werden soll. Die Kennung wird als String in Anführungszeichen angegeben, z.B. 'IV01_01'.
  • Wert
    Eine Zahl oder ein Text (String), welche(r) in der Variable abgelegt werden soll. Für gewöhnlich wird als zweiter Parameter eine Variable mit dem entsprechenden Wert angegeben.

Interne Variablen

Bevor put() verwendet werden kann, legen Sie eine interne Variable im Datensatz an. Erstellen Sie dazu im Fragenkatalog eine neue Frage vom Typ Interne Variablen und darin mindestens eine Variabel (Item). Die vollständige Kennung dieser Variable tragen Sie als ersten Parameter im Befehl put() ein. Die Kennung finden Sie in der Variablen-Übersicht (z.B. „IV01_01“, wenn es die erste Variable in der ersten Frage in der Kategorie „IV“ ist).

Tipp: Sie können die Items einer Frage vom Typ „Interne Variablen“ auch verwenden, um Werte aus einem JavaScript zu speichern. Binden Sie die Frage dafür ganz normal im Fragebogen ein und schreiben Sie die Antworten in die versteckten Eingabefelder, die dabei erzeugt werden (Eigene Formularelemente verwenden).

Beispiel: Randomisierung

Falls Sie bei einer Randomisierung mit dem Befehl random() arbeiten, müssen Sie die gewürftelte Zufallszahl im Datensatz abspeichern.

Das folgende Beispiel geht davon aus, dass Sie eine interne Variable mit der Kennung „IV01_01“ angelegt haben.

// Eine ganze Zahl zwischen 1 und 2 würfeln
$zahl = random(1,2);
// Die gewürfelte Zahl im Datensatz abspeichern
put('IV01_01', $zahl);
// Und davon abhängig Textbaustein "text1" oder "text2" anzeigen
if ($zahl == 1) {
  text('text1');
} else {
  text('text2');
}

Beispiel: Berechnungen

Das folgenden Beispiel geht davon aus, dass ein Konstrukt in zwei Skalen mit den Frage-Kennungen AB01 und AB02 erhoben wird – und dass eine interne Variable AB03_01 angelegt wurde, um den Skalenindex (Summenwert aller Items) zu speichern.

$sum01 = valueSum('AB01');
$sum02 = valueSum('AB02');
$index = $sum01 + $sum02;
put('AB03_01', $index);

Die Ermittlung eines Skalenindex schon während der Befragung ist natürlich vor allem dann sinnvoll, wenn man dem Teilnehmer das Ergebnis mitteilen möchte oder wenn man es für einen Filter benötigt:

if (value('AB03_01') > 100) {
  question('FU03');  // Frage für Personen mit hoher Ausprägung beim Konstrukt
} elseif (value('AB03_01') > 50) { {
  question('FU02');  // Frage für Personen mit mittlerer Ausprägung beim Konstrukt
} else {
  question('FU01');  // Frage für Personen mit geringer Ausprägung beim Konstrukt
}

Beispiel: Komplexer Filter

Das folgende Beispiel ist einem Fragebogen entnommen, der an mehreren Stellen unterschiedliche Fragen für Neukunden und Bestandskunden zeigt. Ein Neukunde zeichnet sich dadurch aus, dass er früher noch nichts gekauft hat (Antwort 1 bei Auswahlfrage „KD01“) und dass die aktuelle Bestellung noch nicht ausgeliefert wurde (Antwort 1 bis 3 bei Auswahlfrage „KD02“).

Natürlich könnte man den Filter auf jeder Seite mit unterschiedlichen Fragen wiederholen – aber das ist einerseits unnötig kompliziert, andererseits wird die Trennung in Neu- und Bestandskunden bei der Auswertung ohnehin gebraucht. Daher soll sie in die interne Variable „KD03_01“ gespeichert werden.

if ((value('KD01') == 1) and (value('KD02') <= 3)) {
  put('KD03_01', 1);  // Code 1 für Neukunden
} else {
  put('KD03_01', 2);  // Code 2 für Bestandskunden
}

Den gespeicherten Code kann man auf späteren Seiten unproblematisch für Filter verwenden.

if (value('KD03_01') == 1) {
  question('SU02', '1-3,5');  // In Frage SU02 die Items 1, 2, 3 und 5 anzeigen
} else {
  question('SU02', '1,2,5-7');  // In Frage SU02 die Items 1, 2 und 5, 6, 7 anzeigen
}
de/create/functions/put.1421424788.txt.gz · Zuletzt geändert: 16.01.2015 17:13 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