0 votes
in SoSci Survey (dt.) by s123746 (155 points)

Hallo,

ich habe zwei Fragen bzgl. der Randomisierung von Items einer Frage über mehrere Seiten. Die Randomisierung und Anzahl klappt soweit.

  1. Es scheint das Speichern der Reihenfolge mit dem put() Befehl nicht zu funktionieren. Hier erhalte ich die folgende Warnung:

Please note that the random values created via random() or shuffle()
will not automatically be stored in the data set. If necessary, you
may use put() to store them.

  1. Ich erhalte folgende Fehlermeldung auf der letzten Seite mit Items, wenn ich den Fragebogen teste:

"One or more variables (A201_09, A201_36, A201_40, A201_07, A201_21,
A201_25, A201_04, A201_16, A201_02, A201_12, A201_37) have already
been asked on page 3. Please note that the answers from page 3 are
shown here and that they will be subsequently replaced. If you require
multiple similar questions, please create a copy of the question."

Mein Code lautet:

    if (!isset($itemsA201)) {
  $itemsA201 = getItems('A201', 'all');
  shuffle($itemsA201);
$itemsA201 = array_chunk($itemsA201, 11);
  registerVariable($itemsA201);
}
$i = loopPage(count($itemsA201));
question('A201', $itemsA201[$i]);
for ($i=0; $i<count($elements); $i++) {
    $id = id('IV01', $i + 1);
  put($id, $elements[$i]);
}

Wie kann ich sicherstellen, dass die Reihenfolge gespeichert wird und dass die Items nur einmal angezeigt und beantwortet werden können?
Vielen Dank!

1 Answer

0 votes
by SoSci Survey (330k points)

Please note that the random values created via random() or shuffle()
will not automatically be stored

Das ist nur ein Hinweis, der unabhängig von der Speicherung angezeigt wird.

"One or more variables (A201_09, A201_36, A201_40, A201_07, A201_21,
A201_25, A201_04, A201_16, A201_02, A201_12, A201_37) have already
been asked on page 3.

Wird die Frage A201 mehrfach angezeigt? Diese Fehlermeldung erscheint meistens, wenn man die Frage in eine Seite zieht und (!) sie zusätzlich per question() einbindet. Ob das in Ihrem Fall zutrifft, kann ich auf Basis Ihrer Frage nicht abschätzen.

by s123746 (155 points)
Dankeschön, das hat geholfen. Jedes Item erscheint nur einmal. Beim erstmaligen Aufrufen der letzten Seite ist alles richtig, nach Ausfüllen der letzten Seite erscheinen aber noch mal neue Items, die sich dann wiederholen und es erscheint wieder folgende Meldung:

One or more variables (A201_23, A201_41, A201_31, A201_05, A201_39, A201_02, A201_17, A201_10, A201_04, A201_33, A201_21) have already been asked on page 3. Please note that the answers from page 3 are shown here and that they will be subsequently replaced. If you require multiple similar questions, please create a copy of the question.

Die debug information der vorigen Seiten lauten jeweils immer:

Debug information for $itemsA201:
[0]    [0]23    [1]41    [2]31    [3]5    [4]39    [5]2    [6]17    [7]10    [8]4    [9]33    [10]21
[1]    [0]18    [1]26    [2]40    [3]8    [4]27    [5]9    [6]29    [7]14    [8]35    [9]16    [10]3
[2]    [0]37    [1]7    [2]22    [3]34    [4]19    [5]24    [6]25    [7]36    [8]15    [9]20    [10]28
[3]    [0]42    [1]1    [2]12    [3]6    [4]30    [5]11    [6]38    [7]13    [8]32

Ich dachte, es liegt vielleicht daran, dass die Anzahl der Items nicht genau über die Seitenverteilung aufgeht (insgesamt 42 Items über 4 Seiten verteilt), aber wenn ich es genau aufteile mit 7 Items auf 6 Seiten und den Code und die IV entsprechend anpasse, passiert dasselbe.
by SoSci Survey (330k points)
> One or more variables (A201_23, A201_41, A201_31, A201_05, A201_39, A201_02, A201_17, A201_10, A201_04, A201_33, A201_21) have already been asked on page 3.

Auf welcher Seit erscheint diese Meldung, was ist auf dieser Seite und welche Debug-Information wird dort angezeigt?
by s123746 (155 points)
Die Meldung erscheint auf der letzten Seite, auf der die Items randomisiert dargestellt werden (vorletzte Seite im Fragebogen). Mir ist gerade beim Testen aufgefallen, dass die Seitenanzeige in der gelben Leiste oben bei Seite 3 (erste Seite mit Randomisierung) stehen bleibt, auch wenn ich die Items beantworte und weiter klicke. Wenn ich alle Items beantwortet habe, gelange ich zu Seite 4 und dort erscheint dann die Meldung. Alle Items sind dann schon beantwortet und ich komme mit Weiter klicken nicht auf die nächste Seite.

Die Debug-Information lautet:
[Information]    Interview number 95 is to be continued
[Information]    Questionnaire base from project dfow will be used
[Information]    The retention period on page 4 has been additional 2 seconds
[Processing]    Reading answers from page 4
[Information]    Answer to A201_01 = 1
[Information]    Answer to A201_12 = 1
[Information]    Answer to A201_13 = 1
[Information]    Answer to A201_20 = 1
[Information]    Answer to A201_26 = 1
[Information]    Answer to A201_30 = 1
[Information]    Answer to A201_31 = 1
[Information]    Answer to A201_32 = 1
[Information]    Answer to A201_35 = 1
[Information]    Answer to A201_37 = 1
[Information]    Answer to A201_39 = 1
[Information]    100% of the questions have been answered so far
[Information]    According to the previously set page order, page 4 [Items2] is shown
[Processing]    Create page 4 in questionnaire base
[Content]    Create question A202
[Information]    loopPage() i=2
[Content]    Create question A201
[Information]    The internal variable IV01_03 gets a value of 2,24,22,10,36,4,14,17,8,5,9.
debug()    Content:
[0]    [0]3    [1]18    [2]34    [3]21    [4]41    [5]25    [6]40    [7]6    [8]42    [9]33    [10]7
[1]    [0]12    [1]20    [2]35    [3]13    [4]1    [5]32    [6]26    [7]30    [8]37    [9]31    [10]39
[2]    [0]2    [1]24    [2]22    [3]10    [4]36    [5]4    [6]14    [7]17    [8]8    [9]5    [10]9
[3]    [0]29    [1]19    [2]28    [3]11    [4]23    [5]27    [6]16    [7]15    [8]38
by SoSci Survey (330k points)
> Mir ist gerade beim Testen aufgefallen, dass die Seitenanzeige in der gelben Leiste oben bei Seite 3 (erste Seite mit Randomisierung) stehen bleibt, auch wenn ich die Items beantworte und weiter klicke.

Ja, das ist korrekt und gewollt. Der loopPage()-Befehl sorgt dafür, dass Seite 3 mehrfach angezeigt wird. Und der PHP-Code sorgt dafür, dass der Inhalt jedesmal ein anderer ist.


> Wenn ich alle Items beantwortet habe, gelange ich zu Seite 4 und dort erscheint dann die Meldung.

Deshalb ist meine Vermutung, dass das Problem auf Seite 4 liegt. Da steht nämlich

> [Content]    Create question A201

Aber auf Seite 4 sollte A201 überhaupt nicht mehr eingebunden sein. Die darf m.E. nur auf Seite 3 stehen.
by s123746 (155 points)
Danke für den Hinweis, der Fehler lag darin, dass ich vier Seiten mit demselben Code angelegt hatte, weil ich verstanden hatte, dass ich die Seiten je nach Anzahl anlegen muss. Aber wenn ich es jetzt richtig verstehe, sorgt der loop-Befehl ohnehin dafür. Mit nur einer Seite klappt es jetzt. Vielen vielen Dank für die geduldige Hilfe! :)

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

...