0 votes
in SoSci Survey (dt.) by s068921 (150 points)

Hallo,

beim Verwenden einer internen Variable sehe ich eine Fehlermeldung, für die ich keine Ursache finden kann.

Ich habe eine interne Variable namens PR angelegt. Diese Variable ist eine eigene Rubrik im Fragenkatalog und beinhaltet 8 Fragen vom Typ "interne Variable". Die Fragen heißen PR01, PR02 usw.. Jede Frage beinhaltet ein Item _01, also PR01_01, PR02_01 usw..

Mithilfe dieser Variable will ich eine Auswahl aus umfangreichem Testmaterial zeigen. Die Idee ist ähnlich wie hier im Handbuch beschrieben: https://www.soscisurvey.de/help/doku.php/de:create:databank#beispiel_1umfangreiches_testmaterial

Der Code in meinem Experiment sieht so aus:

// Seite n-Mal wiederholen (aktuelle seitennummer in $i speichern) 
$i = loopPage(4);

// Führende Null an einstellige Zahlen anhängen
$frage_nr = str_pad($i+1, 2, '0', STR_PAD_LEFT);

// Zufallszahl aus Urne ziehen (und in Dummy Frage PR$i speichern) 
urnDraw('itemnummern', 'PR'.$frage_nr);

Beim Testen gibt Soscisurvey mir die Fehlermeldung "Die Variable PR01 gibt es in diesem Projekt nicht (siehe Variablen-Übersicht)." Ein Blick in die Variablenübersicht zeigt jedoch, dass es die Variablen PR01 bis PR08 gibt (schwarz dargestellt).

Wo könnte der Fehler liegen?
Vielen Dank im Voraus,
Anna

1 Answer

0 votes
by SoSci Survey (302k points)

Beim Testen gibt Soscisurvey mir die Fehlermeldung "Die Variable PR01 gibt es in diesem Projekt nicht

Diese Fehlermeldung bezieht sich wahrscheinlich nicht auf den von Ihnen gespoteten PHP-Code, sondern auf ein value() weiter hinten.

Die Lösung ist realtiv einfach: Die Variable PR01 gibt es tatsächlich nicht. Es gibt eine Frage "interne Variablen" mit dieser Kennung und in dieser Frage gibt es eine oder mehrere Variablen mit den Kennungen PR01_01 etc.

Ich möchte aber darauf hinweisen, dass urnDraw() für wiederholte Ziehungen nur bedingt sinnvoll ist - es kann dabei durchaus vorkommen, dass derselbe Wert mehrfach gezogen wird. Wenn Sie das nicht haben möchten, dann verwenden Sie bitte einen Zufallsgenerator und geben Sie dort an, dass 4 Werte pro Interview gezogen werden sollen.

by s068921 (150 points)
Vielen Dank für die schnelle Antwort.

Was ich tun möchte, ist das folgende: Ich möchte vier verschiedene Stimuluslisten verwenden, die gleichmäßig auf die Teilnehmer der Umfrage verteilt werden sollen. Die einzelnen Fragen innerhalb jeder Liste sollen wiederum randomisiert werden.

Die einzelnen Listen beinhalten sehr viele items (mehr als 50), deswegen zeige ich sie in einer Datenbank. Ich werde ein ähnliches Experiment immer wieder mit neuen Stimuli durchführen müssen. Deswegen möchte ich es ungern über Arrays lösen, die ich dann für jedes neue Experiment von Hand ändern müsste. Stattdessen möchte ich es die Auswahl der einzelnen Listen über eine Spalte im Fragebogen regeln.

Gibt es einen Tip, wie ich hierbei am besten vorgehe?
Vielen Dank!
by SoSci Survey (302k points)
> Was ich tun möchte, ist das folgende: Ich möchte vier verschiedene Stimuluslisten verwenden, die gleichmäßig auf die Teilnehmer der Umfrage verteilt werden sollen.

Es gibt also 4 Bedingungen und der Teilnehmer wird einer davon zugewiesen? Dann kann ich nicht ganz nachvollziehen, warum Sie den befehl urnDraw() auf jeder Seite aufs neue aufrufen.

Nach meinem Verständnis würde es doch reichen, wenn Sie zu Beginn des Interviews (bzw. wenn der Teilnehmer bis zum ersten Stimulus geklickt hat) einen Code zwischen 1 und 4 bekommt. Davon abhängig kann man dann die Itemliste abrufen. Egal, ob diese als Datenbank in der "Datenbank für Inhalte" oder als Frage im Projekt abgelegt ist?!

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

...