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

Hallo,

ich habe ein Fragenbogen, diese möchte ich randomisieren auf zwei Gruppen.

Die Gruppe A bekommt alle Fragen von Seite 1 bis 5.

Die Gruppe B bekommt alle Fragen von Seite 3 bis 6.

Auch möchte eine gleiche Verteilung der Geschlechter.
Wie gehe ich hier vor?

Hier ist mein PHP Code.

closed as a duplicate of: Randomisierung
by SoSci Survey (308k points)
Sind Sie mit den Antworten unter https://support.soscisurvey.de/?qa=26201/randomisierung#c26283 schon weiter gekommen oder benötigen Sie noch Unterstützung (wenn ja, wie weit sind Sie im Moment)?
by s163243 (150 points)
Hallo,

leider bin ich noch nicht weitergekommen. Es werden folgende Fehlermeldungen gezeigt.

Aktuelle PHP-Code
if (value('SD01') == 1);
 question('RF01'); // Zufallsgenerator für Frauen
 put('IV01_01',value('IV01_01')); // Umkopieren nach IV01_01
} else {
  question('RF02');  // Zufallsgenerator für Männer
  put('IV01_01',value('IV01_01'));  // Umkopieren nach IV01_01
}
// Fragen zum Kauf von Luxusprodukt
question('LP07');  //Luxusprodukt
question('LQ01');  // Luxusprodukt
question('LW01');  // Luxusprodukt
question('LS02');  // Luxusprodukt
question('LZ01');  // Luxusprodukt
question('LU01');  // Luxusprodukt // nächste Seite

goToPage('Seite 3');

if (value('RF01') == 2)

question('LV01');  // Luxusprodukt
question('LR01');  // Luxusprodukt
question('LX01');  // Luxusprodukt
question('LY01');  // Luxusprodukt
question('LT01');  // Luxusprodukt
question('LA01');  // Luxusprodukt
question('LB01');  // Luxusprodukt // nächste Seite

goToPage('Seite 4');

question('LC01');  // Luxusprodukt
question('LD01');  // Luxusprodukt
question('LE01');  // Luxusprodukt
question('LF01');  // Luxusprodukt
question('LG01');  // Luxusprodukt
question('LH01');  // Luxusprodukt

goToPage('Seite 5'); // Luxusprodukt // nächste Seite
}
if (value('RF01') == 2)

question('LI01');  // Luxusprodukt
question('LJ01');  // Luxusprodukt
question('LK01');  // Luxusprodukt
question('LM01');  // Luxusprodukt
question('LN01');  // Luxusprodukt
question('LO01');  // Luxusprodukt

// Fragen zum Produktkauf
question('PV01');  // Produkt
question('PW01');  // Produkt
question('PX01');  // Produkt
question('PY01');  // Produkt
question('PZ01');  // Produkt
question('P001');  // Produkt

Fehlermeldung bei 005 und 006.

Im PHP-Code trat ein Fehler auf.
Fehler im Fragebogen: Befehl oder String (Text) nicht abgeschlossen

Hinter einem Befehl wie z.B. question() steht kein Strichpunkt oder
ein String (Text in Anführungszeichen) ist nicht abgeschlossen oder
im String selbst kommt ein Anführungszeichen vor, z.B. html('Mach's besser!'); – in diesem Fall stellen Sie dem Anführungszeichen einen Backslash (\) voran.
Möglicherweise stimmen die öffnenenden und schließenden geschweiften Klammern für Anweisungsblöcke auch nicht überein.
PHP-Code

002
003 if (value('SD01') == 1);
004  question('RF01');
005  put('IV01_01',value('IV01_01'));
006 } else {
007   question('RF02');  
008   put('IV01_01',value('IV01_01'));  
009 }
by s163243 (150 points)
Hallo,

und wie muss ich den PHP Code programmieren, wenn die Gruppe A alle fragen von Seite 2-5 erhalten sollen und Gruppe B alle Fragen von Seite 3 bis 6?

vielen Dank schon mal für die Hilfe
by SoSci Survey (308k points)
Sie können in Gruppe A einfach die Seite 6 überspringen und in Gruppe B die Seite 2, also am Anfang von Seite 6 z.B.

if (value('RF01') == 1) {
  goToPage('next');
}
by s163243 (150 points)
Ok, kann ich so wie oben mit den PHP Codes arbeiten oder muss ich die PHP Codes auf die entsprechende setzen
by s163243 (150 points)
Ok, kann ich mehre Seiten einfügen  goToPage('Seite1, Seite2');?
by SoSci Survey (308k points)
Sie müssen den PHP-Code bitte immer (!) auf die Seite setzen, wo er aktiv werden soll.

Der Befehl goToPage() springt mitten auf einer Seite zu einer anderen Seite und beendet die Ausführung der laufenden Seite. Diesen Befehl sollten Sie überhaupt nicht verwenden.
by s163243 (150 points)
Ok, habe ich verstanden . Dann lege ich für jede seite ein PHP Code an.
Ist mein PHP Code so in Ordnung ? So würde  ich dann den Code auch für weitere Seiten anlegen.
$zahl = value('RF02')== 2;
if ($zahl == 2) {
question('LV01');  // Luxusprodukt //Beginn vom Fragebogen für Gruppe B
question('LR01');  // Luxusprodukt
question('LX01');  // Luxusprodukt
question('LY01');  // Luxusprodukt
question('LT01');  // Luxusprodukt
question('LA01');  // Luxusprodukt
question('LB01');  // Luxusprodukt
by s163243 (150 points)
wie ist es eine Seite beide Gruppen erhalten sollen?
Kann ich dann $zahl = value('RF01'),('RF02')== 1==2;
Richtig?
by SoSci Survey (308k points)
> $zahl = value('RF02')== 2;

Korrekt wäre:

$zahl = value('RF02');

> wie ist es eine Seite beide Gruppen erhalten sollen?

Dort benötigen Sie gar keinen Filter, oder? Falls Sie unterschiedlichen Fragen zeigen, dann verwenden Sie das else:

if ($zahl == 2) {
  question('LV01');  // Luxusprodukt
  question('LR01');  // Luxusprodukt
} else {
  question('XY01');  // Normales Produkt
  question('XY02');  // Normales Produkt
}
by s163243 (150 points)
Ok, Danke für Hilfe.
Das heißt, ich brache für die Seiten, die beiden Gruppen A und B die gleichen Seiten keinen Filter, das bedeutet, den PHP-Code kann ich wieder entfernen richtig?
Also garnichts eintragen.
by SoSci Survey (308k points)
PHP Code benötigen Sie dann, wenn die Seite in irgend einer Form variirt werden soll. Das kann eine Reaktion auf einer Antwort sein (Filterfrage) oder eine experimentelle Variation. Wenn die Seite allen gleichermaßen angezeigt wird, dann brauchen Sie keinen PHP-Code.
by s163243 (150 points)
Ok, super . Vielen Dank
by s163243 (150 points)
Sorry nochmal.

Wie kriege ich die doppelten Fragen wieder raus.
Die Fehlermeldung ist diese:
Fehler im Fragebogen (Seite 6)
Items in der nachfolgenden Fragen werden auf dieser Seite schon weiter oben angezeigt. Dies führt fast zwangsläufig zu Datenverlust! Falls Sie eine Frage mehrfach benötigen, legen Sie bitte eine Kopie der Frage an. Betroffen sind folgende Items: P001_01.
by SoSci Survey (308k points)
> Wie kriege ich die doppelten Fragen wieder raus.

Wenn Sie eine Frage bereits per question() in die Fragebogen-Seite einbinden, dann ziehen Sie die Frage nicht zusätzlich noch per Drag&Drop in die Seite.

Also: Entweder in die Seite ziehen ODER im PHP-Code mittels question() aufrufen.

Bereits auf der Seite platzierte Fragen können Sie einfach wieder nach rechts aus der Seite ziehen. Oder mit dem Kreuzchen entfernen.
by s163243 (150 points)
Zu dem habe ich noch eine Frage hier zu:
Diese Seite soll nur die Gruppe A bekommen und habe den folgenden PHP code eingegeben:
$zahl = value('RF01');
if($zahl==1);

Ist das richtig so? Da bedeutet, dass Gruppe B (RF02) diese Fragen nicht erhalten richtig?
by SoSci Survey (308k points)
Nein, dieser IF-Filter hat keine Funktion. Bitte lesen Sie zu IF-Filter folgende Erklärung: https://www.soscisurvey.de/help/doku.php/de:create:php-filters (den Anfang) und sehen Sie sich folgende Video-Anleitung an: https://cast.itunes.uni-muenchen.de/clips/mBbBVVUa1y/vod/online.html - dort wird das nochmal Schritt für Schritt erklärt.
by s163243 (150 points)
Ok, danke für Ihren Hinweis. Lieder fällt mir das schwer, weil ich mich in dem Bereich gar nicht auskenne.
Die Erklärung im Video ist gut, aber dennoch bin ich mir nicht sicher, ob das so richtig ist.
Ist dieser PHP-Code so richtig? Diese Fragen auf diese Seite sollen nur die Gruppe A bekommen (RF01)
Danke Ihnen
if(value('RF01')==1);
by s163243 (150 points)
und wo kann ich sehen (außer Debug Funktion), dass die Geschlechter Verteilung funktioniert hat?
Danke Ihnen.
by SoSci Survey (308k points)
Im Moment sagen Sie dem IF-Filter noch nicht, was er tun soll. Was er tun soll, wenn die Bedingung in Klammern erfüllt ist (Gruppe A), das müssen Sie hinter den Filter (ohne Seminikolon!) in geschweifte Klammern schreiben.

> Diese Fragen auf diese Seite sollen nur die Gruppe A bekommen

Dann formulieren Sie doch (am Anfang der Seite) einen Filter, welcher direkt zur nächsten Seite springt, wenn die Person in Gruppe B ist:

if (value('RF01') == 2) {
  goToPage('next');
}

> und wo kann ich sehen (außer Debug Funktion), dass die Geschlechter Verteilung funktioniert hat?

In der Debug-Information - und natürlich daran, dass die Anzahl der gezogenen Zettel im jeweiligen Zufallsgenerator steigt - und Sie sehen es auch an den Zufallsvariablen im Datensatz.
by s163243 (150 points)
Leider, wird im Datensatz der  RF nichts angezeigt.

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

...