0 votes
ago in SoSci Survey (dt.) by s328962 (110 points)

Hallo,

ich möchte gerne Geschichten testen und bewerten lassen.
Dazu möchte ich gerne, dass aus einem Pool mit 10 Geschichten den Teilnehmenden jeweils 3 Geschichten randomisiert präsentiert werden. Im Schema: Einleitung - Geschichte - Fragen zur Geschichte - nächste Geschichte - Fragen - nächste Geschichte - Fragen.

Soweit ich das richtig verstanden habe, benutzte ich einen Zufallsgenerator dafür. Ich scheitere aber bereits am Einrichten des Generators. Ich habe Fragetyp Zufallsgenerator eingestellt. In die Urne habe ich die Namen der Geschichten geschrieben, so wie ich sie in den Rubriken angelegt habe. Aber weiter weiß ich nicht.

Außerdem bin ich mir nicht ganz sicher, wie jeder Teilnehmer auch wirklich drei verschiedene Geschichten bekommt (Ziehung ohne Zurücklegen, aber wie weiß das Tool bei der 2. bzw. 3. Ziehung, welche Geschichten vorher bereits präsentiert wurden)?

Freue mich über Tipps und Hinweise.

1 Answer

0 votes
ago by SoSci Survey (364k points)
edited ago by SoSci Survey

Wenn Sie die Geschichten als Texte in einer Rubrik im Fragenkatalog abgelegt haben, dann notieren Sie im Zufallsgenerator am geschicktesten die vierstelligen Kennungen der Texte.

Außerdem stellen Sie im Zufallsgenerator ein, dass Sie pro Interview 3 Texte ziehen möchten.

Beim Ablauf haben Sie Sie zwei Möglichkeiten: Entweder Sie setzen es in einem Fragebogen um, der einfach alle 3 Geschichten nacheinander abfragt. Oder Sie verwenden eine Multi-Level-Struktur, bei welcher Sie eine Datenzeile pro Geschichte erhalten, und die Fragen zur Geschichte nur einmal im Fragenkatalog anlegen müssen (statt dreimal). Wahrscheinlich ist letzteres für die Auswertung geschickter, aber das müssen Sie entscheiden.

Hier erstmal der PHP-Code, wie Sie den ersten in einem Zufallsgenerator RG01 gezogenen Text dann im Fragebogen anzeigen würden:

$textID = value('RG01x01', 'label');
text($textID);

Die Multi-Level-Lösung ist technisch ein wenig anspruchsvoller, spart Ihnen in der Auswertung aber u.U. viel Zeit. Hier mal zum Anlesen: Multi-Level Struktur

ago by s328962 (110 points)
edited ago by s328962
Danke für den Input!

Ich habe den Zufallsgenerator angelegt, die entsprechenden Kennungen in die Urne eingefügt. Auf Seite 12 steht nun den Zufallsgenerator, auf Seite 13 habe ich den PHP-Code eingefügt, angepasst habe ich das RG01 auf ZG01 (so heißt der Zufallsgenerator bei mir).
Aber wenn ich das Ganze ausführe, kommt immer nur die Meldung:

Fehler im Fragebogen (Seite 13)
Die Variable ZG01x1 gibt es in diesem Projekt nicht (siehe Variablen-Übersicht). Daher kann kein Antwort-Wert dafür ermittelt werden.

Fehler im Fragebogen (Seite 13)
Im Befragungsprojekt existiert kein Text mit der Kennung

Ich verstehe nicht was ich falsch mache und bin ganz ehrlich: wenn ich diese einfache Lösung nicht hinbekomme, brauche ich an die schwierigere Multi-Level Struktur ja gar nicht denken.
Hoffe man kann mir helfen xD

Edit: Nun habe ich es doch geschafft. Es funktioniert. Bin auf Textbausteine umgestiegen und musste den Code anpassen bezüglich Mapping. Aber es scheint zu laufen. Ich hoffe nicht zu stümpferhaft, dass am Ende auch alles funktioniert. Ich werde erstmal weiterarbeiten und mich sonst nochmal melden.
Danke :)
ago by SoSci Survey (364k points)
> Die Variable ZG01x1 gibt es in diesem Projekt nicht

Ähm, dann hatte die Variable wohl doch noch eine führende Null vor der Ziffer der Ziehung, also ZG01x01 statt ZG01x1... aber das haben sie wohl mit dem "Variablen" Karteireiter des Zufallsgenerators schon herausgefunden.
ago by s328962 (110 points)
Ja in der Zwischenzeit hat es dann auch wieder nicht mehr funktioniert, aber das x01 usw. löst es sofort. Und nein hatte auch das nicht rausgefunden, aber seeehr hilfreicher Tipp. Danke!!

Ich habe auf Seite 12 meinen Zufallsgenerator eingebaut und folgenden Code eingegeben mit dem Ziel das jeweilige Ergebnis der drei Ziehungen zu speichern.

question('ZG02');  // ZG_1

put('IV01_01', value('ZG02x01'));  // erste Ziehung
put('IV02_01', value('ZG02x02'));  // zweite Ziehung
put('IV03_01', value('ZG02x03'));  // dritte Ziehung

Auf Seite 13 folgt die Geschichte der 1. Ziehung - die Präsentation funktioniert. Auf Seite 18 würde ich jetzt gerne die Geschichte der 2. Ziehung präsentieren.

Folgenden Code habe ich auf Seite 18 geschrieben:
$pos2 = value('ZG02x02');

$textID2 = $texte[$pos2];

text($textID2);

Aber wenn ich den Fragebogen starte, steht da nur:
Die Variable IV02_01 wurde im Laufe dieses Interviews auf keiner vorhergehenden Seite abgefragt. Daher kann die Funktion value() keinen Antwort-Wert ermitteln.

[Information]    Interview gestartet (neue Nummer 152)
[Information]    Der Fragebogen Pilotierung im Projekt BewertungSchuld wird verwendet
[Verarbeitung]    Erstelle Seite 18 in Fragebogen Pilotierung
[Information]    value("IV02_01") = ???

Wie mache ich das, dass ich die Ergebnisse aus meiner 2. und 3. Ziehung, die der Zufallsgenerator eingestellt auf 3 Ziehungen ja direkt durchführt, später auf z.B. Seite 18 nutzen kann? Geht das mit dem Speichern der drei Ergebnisse und der Rückgriff darauf?
ago by SoSci Survey (364k points)
> mit dem Ziel das jeweilige Ergebnis der drei Ziehungen zu speichern.

Das erledigt der Zufallsgenerator automatisch - gespeichert wird in ZG02x01 u.s.w.

> $pos2 = value('ZG02x02');

Fast ... Sie wollen nicht den Code, sondern den Wert, den Sie dafür hinterlegt haben. Mein Code oben war nicht korrekt, ich korrigiere das gleich nochmal:

$pos2 = value('ZG02x02', 'label');
text($pos2);

> Die Variable IV02_01 wurde im Laufe dieses Interviews auf keiner vorhergehenden Seite abgefragt.

Das passt nicht so ganz zu dem Code, den Sie gepostet haben. Prüfen Sie bitte nochmal, ob auf Seite 18 sonst noch PHP-Code steht.
ago by s328962 (110 points)
Vielen lieben Dank. Ich hatte noch einen kleinen Denkfehler, aber jetzt funktioniert der Zufallsgenerator und der entsprechende Output auf den jeweiligen Seiten. Echt super die Hilfe hier!! :)

Noch eine kleine Anpassungs-Frage.
Nur wenn Geschichte Nr. 9 und 10 (TX09 bzw. TX10) gezogen wird, würde ich gerne, dass bei den nachfolgenden Fragen eine Extra-Frage abgefragt wird (Frage Nr. 12).
Wie kann ich es programmieren, dass nur wenn ZG02x01/02/03 = TX09 bzw. TX10, dann Anzeigen von Frage Nr. 12 ? Gibt es da was?
Nochmals: Vielen Dank für all die Hilfe!
ago by SoSci Survey (364k points)
Gerne :) Der Filter könnte so aussehen:

if (
  (value('ZG02x01') == 9) ||
  (value('ZG02x02') == 9) ||
  (value('ZG02x03') == 9) ||
  (value('ZG02x01') == 10) ||
  (value('ZG02x02') == 10) ||
  (value('ZG02x03') == 10)
) {
    question('XY12');
}

Das ist jetzt nicht die eleganteste Lösung, aber der Mehraufwand für "eleganter" lohnt wahrschienlich erst, wenn wir noch mehr Items oder Auspräfungen testen müssten.

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

...