0 votes
in SoSci Survey (dt.) by s010182 (265 points)
edited by s010182

Hallo zusammen,

habe einen Panelanbieter, der mir zwei IDs (ID1 und state-ID) überliefert. Außerdem einen Fragebogen mit verschiedenen Versionen.

Daher nutze ich multiLevelDown() im übergeordneten Hauptfragebogen und möchte die Redirects der Einfachheit halber in den untergeordneten Fragebögen auslösen.

Mein Problem ist, dass wenn ich den Befehl

$qnr = value('RF01', 'label');
multiLevelDown($qnr, reference());

nutze, mir nur die ID1 in den Unterfragebogen übermittelt wird (das Ganze funktioniert).

Da ich auch die state-ID für die redirects benötige, bin ich dazu übergagengen und lese ID1 nun über eine "Gerät und übermittelte Varbiable" PD59 aus.
Die ID1 lege ich in PD59_REF ab und die state-ID in PD59_RV1.

Meine erste Idee ist, nun im Hauptfragebogen Folgendes zu schreiben,

$qnr = value('RF01', 'label');
$ID1 =  value('PD59_REF '); 
$stateID = value('PD59_RV1');
multiLevelDown($qnr, $ID1, $stateID);

damit mir beide IDs in den Untergeordneten FB übergeben werden.

Wenn ich aber https://www.soscisurvey.de/help/doku.php/de:create:functions:multileveldata lese, dann dürfte dies so nicht klappen, weil

multiLevelData() liefert im untergeordneten Fragebogen die Daten
zurück, die als zweiter Parameter in multiLevelDown() angegeben wurden.

D. h., man dürfte maximal zwei Ausdrücke in der Klammer stehen haben. Testen konnte/kann ich es mit Klicks vom Projektmanager nicht lassen, da WE.

Hat jemand eine Lösung für mein "Problem"? Wie geschrieben, würde ich die redirects gerne in den Unterfragebögen auslösen.

Danke und Gruß

by s010182 (265 points)
edited by s010182
Habe nun eine Lösung gefunden. Für diejenigen, die es interessiert oder es brauchen werden:

Ich verknüpfe die beiden IDs im Hauptfragebogen einfach miteinander (Seperator ist ein #)

$combineID = $ID1.'#'.$stateID;
put('IN40_01', ''.$combineID.'');

und übertrage sie in den Unterfragebogen,

$data = value('IN40_01');
multiLevelDown('Unterfragebogen1', $data);

und trenne die IDs anschließend wieder im Unterfragebogen.

Bei Interesse oder Rückfragen gerne noch einmal hier nachhaken.

1 Answer

0 votes
by SoSci Survey (327k points)

Hier noch eine etwas elegantere Lösung:

$qnr = value('RF01', 'label');
$ID1 =  value('PD59_REF '); 
$stateID = value('PD59_RV1');
multiLevelDown($qnr, [
  'panelID' => $ID1,
  'stateID' => $stateID
]);

Und dann im untergeordneten Fragebogen:

$info = multiLevelData();
$ID1 = $info['panelID'];
$stateID =$info['stateID'];
by s010182 (265 points)
edited by s010182
Vielen Dank hierfür.

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

...