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

Guten Tag

Ich komme leider nicht ganz zurecht mit der Anleitung, wie man Panel-Links einbaut.

Soweit ich es verstehe, muss ich in meinem Fall zwei Variablen auffangen, kann das sein? Es handelt sich um psid (Panelist Survey ID) und pid (Panelist Identifier). In der Einleitung wird jeweils nur 1 Variable aufgefangen, nämlich id mit "reference". Könnten Sie mir bitte helfen, welche Platzhalter einbauen soll und wie.

Hier die Links, die ich vom Panel bekommen habe:

Complete (Qualified)
https://dkr1.ssisurveys.com/projects/end?rst=1&psid=XXXXX&basic=70157

Screen out (Terminate)
https://dkr1.ssisurveys.com/projects/end?rst=2&psid=XXXXX

Quota full
https://dkr1.ssisurveys.com/projects/end?rst=3&psid=XXXXX

Beispiel Format des Live Links :
https://clientsurvey.com/yourinformation?psid=XXXXX&pid=ZZZZZ

Ich habe jetzt diese 2 Variablen (psid und pid) unter " Typ Gerät und übermittelte Variable" hinzugefügt (da der Anbieter kein "?r" als Kennung verwendet) und folgenden Code auf der ersten Seite des Fragebogens vorbereitet:

replace('%panelID%', 'PM01_RV1', 'response'); // Platzhalter vorbereiten für psid

Und dann am Ende des Fragebogens folgenden PHP für den Complete-Link eingefügt:

redirect('https://dkr1.ssisurveys.com/projects/end?rst=1&psid=%panelID%&basic=70157');

Das ist aber glaub ich falsch, da ich die eine Variable (pid) überhaupt nicht einlese.

Ich wäre um jede Hilfe dankbar!

Vielen Dank.

Beste Grüsse

1 Answer

0 votes
by SoSci Survey (305k points)

Soweit ich es verstehe, muss ich in meinem Fall zwei Variablen auffangen, kann das sein?

Ja, das kann der Panel-Anbieter so realisieren.

Ich habe jetzt diese 2 Variablen (psid und pid) unter " Typ Gerät und übermittelte Variable" hinzugefügt

Gut. Rufen sie Ihren Fragebogen testweise einmal mit den beiden Paramtern auf und prüfen Sie, ob diese korrekt im Datensatz gespeichert werden.

und folgenden Code auf der ersten Seite des Fragebogens vorbereitet:

Fein.

Und dann am Ende des Fragebogens folgenden PHP für den Complete-Link eingefügt

Das sieht ebenfalls korrekt aus.

Das ist aber glaub ich falsch, da ich die eine Variable (pid) überhaupt nicht einlese.

Die andere Variable lesen Sie ein - aber sie wird nicht an den Panel-Anbieter zurückgemeldet. Laut dessen Redirect-Links ist das auch nicht erforderlich.

Ich gehe davon aus, dass "psid" eine einmalige Teilnahme-ID ist, welche den Panelisten und die Befragung zugleich markiert. Wenn Sie nun aber eine mehrwellige Befragung durchführen würden, dann würde diese Nummer ja variieren. Dafür ist (vermutlich) "pid" gut: Diese würde eine Zuordnung der Datensätze eines Teilnehmers aus Welle 1 und Welle 2 erlauben.

by s085776 (110 points)
Vielen Dank!

Ich hätte noch eine Frage. Ich habe 2 Fragebögen, zu denen man nach Zufallsprinzip zugeteilt wird. Ich habe aus diesem Grund einen 3ten Standardfragebogen, der die Randomisierung nach der Startseite erlaubt. Wenn ich den ersten PHP-Code unter dessen Startseite einfüge, dann werden die Codes unter diesem dritten Fragebogen gespeichert (random) und nicht unter dem Fragebogen, den man letztendlich ausfüllt (qn1 oder qn2).
Und angesichts dessen, dass es verschiedene Fragebögen sind, nehme ich an, dass die Werte momentan überhaupt nicht an den Panel-Anbieter weitergegeben werden, da ich die Werte nicht im finalen Fragebogen abgespeichert habe.

Wie kann ich dieses Problem lösen? Ich habe in einer anderen Support-Frage gelesen, dass man das irgendwie anhängen kann (.value('PM01_RV1'));) Aber ich habe keine Links, sondern mein Befehl sieht so aus:

$qnr = value('RF01', 'label');
goToQuestionnaire($qnr);

Wo/Wie kann ich die zwei Variablen einfügen, dass sie am 2. Fragebogen übermittelt werden?

Vielen Dank!
by SoSci Survey (305k points)
>  Ich habe 2 Fragebögen, zu denen man nach Zufallsprinzip zugeteilt wird.

Ich empfehle dringend, die Randomisierung innerhalb eines Fragebogens zu realisieren - mit mehreren Fragebögen sollte man nur arbeiten, wenn es dafür sehr gute Gründe gibt. Und mit einem kleinen PHP-Filter ist es innerhalb eines Fragebogens meist einfacher.

Falls Sie unbedingt bei der Lösung mit drei Fragebögen bleiben möchten, könnten Sie anstatt mit goToQuestionnaire() einmal mit multiLevelDown() arbeiten - Screenout und Redirect bleiben aber im Fragebogen "random", sodass die Variablen verfügbar sind. Oder Sie übergeben die PID im multiLevelDown().

Ebenfalls möglich wäre es, die PID in der "Datenbank für Inhalte" abzulegen und aufzurufen, aber das wird m.E. noch komplizierter.
by s085776 (110 points)
Vielen Dank! Leider geht es nicht anders als mit 2 Fragebögen, weil auch andere Redirects innerhalb der Fragebögen vorgesehen sind.

Leider komme ich mit dem multileveldown Befehl nicht klar und habe schon vieles versucht.

Ich habe jetzt im ersten Fragebogen (random) folgendes eingefügt:

$qnr = value('RF01', 'label');
multiLevelDown($qnr, array(
  'code' => value(id('RF01', $qnr)),'label'));


Die Umleitung zu dem nächsten Fragebogen funktioniert, aber die RF01-Variable wird nicht übergeben. Ich habe es auch mit "put" probiert, aber da der Zufallsgenerator keine interne Variable ist hat es auch nicht funktioniert.

Im Hauptfragebogen bin ich so vorgegangen, wobei ich eine neue interne Variable kreiert habe, in der der Wert von RF01 gespeichert werden sollte.

$qnr = multiLevelData();
put('ZU01_01', $qnr['code']);
question('EI02');

Mir ist bewusst, dass hier etwas überhaupt nicht stimmt, aber leider weiss ich nicht was...
by SoSci Survey (305k points)
>  aber die RF01-Variable wird nicht übergeben

Das liegt daran, dass Sie m.E. den falschen Wert mit value() auslesen. Versuchen Sie es bitte wie folgt:

$qnr = value('RF01', 'label');
multiLevelDown($qnr, [
  'code' => value('PM01_RV1')
]);
by s085776 (110 points)
Ich habe es geschafft, alle wichtigen Variablen zu übermitteln. Vielen Dank für Ihre Hilfe!

Jetzt geht es mir aber darum, wo ich die Platzhalter und die Links platzieren soll. Ich habe im Fragebogen random den Platzhalter vorbereitet und da die Variable Typ Gerät und übermittelte Variable platziert:

replace('%panelID%', 'PM01_RV1', 'response');  


Und nachher habe ich jedoch die PM01_RV als eine interne Variable ZU01_02 dem zweiten Fragebogen übergeben (wie in Ihrer Anweisung im vorherigen Kommentar).

In dem Fall ist sie nicht aber mehr als %panelID%' abgespeichert und sie wird nicht in den weiteren Panel-Links weitergegeben. Soll ich einfach beim 2. Fragebogen nochmals dasselbe wiederholen wie bei random?
by SoSci Survey (305k points)
Wenn der Code nun in Variable ZU01_02 steht, können Sie diese einfach in replace() verwenden.

replace('%panelID%', 'ZU01_02', 'response');

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

...