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

Hallo,

ich möchte gerne eine Frage (A004) erstellen, bei der die auf Rangplatz 1 vergebenen Variablen aus zwei vorherigen Rangordnungs-Fragen (A002 und A003) in zwei Platzhaltern als neue Variable angezeigt werden.

Die Platzhalter funktionieren, jedoch wird im unten aufgeführten Code nur ein numerischer Value und nicht der "Itemtext" der jeweils höchstplatzierten Variablen übertragen.

Dazu habe ich folgendes php Element erstellt:

$auswahl = value('A002');
'A002' $titel = getItemtext('A002', $auswahl); replace('%title%',
$titel);

$auswahl2 = value('A003');
'A003' $titel2 = getItemtext('A003', $auswahl2); replace('%platz%',
$titel2);

question('A004');

Scheinbar ist der Wert aus der "value" Funktion davon abhängig, wie viele Variablen in A002 und A003 überhaupt geordnet wurden. Ich möchte aber den Text derjenigen Variablen haben, welche auf Platz 1 vergeben wurden.

Hat hierzu jemand einen Vorschlag?

Viele Grüße

2 Answers

+1 vote
by SoSci Survey (316k points)
selected by s227216
 
Best answer

Bei einer Rangordnung haben Sie neben der Frage-Variable A002 noch für jedes Item eine Variable mit dem Rangplatz. Und die brauchen Sie. Beziehungsweise müssen Sie erstmal mit getItems() herausfinden, welche Option auf Platz 1 ist.

$eins = getItems('A002', 'is', 1);
if (!empty($eins)) {
  $auswahl = $eins[0];
  $titel = getItemtext('A002', $auswahl);
  replace('%title%', $titel);
}

Was sagt denn die Debug-Information zu diesem Code?

by s227216 (150 points)
Der Code funktioniert nun einwandfrei.

Ich habe den"getItems"-Parameter 'is' zuvor nicht gefunden, nun klappt es wie gewünscht.

Herzlichen Dank!
0 votes
by s227216 (150 points)

Ich habe leider noch eine Anschlussfrage bezüglich zusätzlicher Filter.

Ich möchte zusätzlich noch so filtern, dass...

1.) ...bei der finalen Frage A004 nur dann Item 1, 2 und 3 angezeigt werden, wenn die Befragten auch für die vorherigen Rangordnungsfragen die entsprechenden Plätze 1, 2 und 3 auch belegt haben.

und

2.) ...dass bestimmte Itemkombinationen aus A002 und A003 dafür sorgen, dass die Items 1,2 oder 3 bei Frage A004 nicht angezeigt wird.

Dabei habe ich das Problem, dass ich nicht genau verstehe wie ich die Reihenfolge der Filterbedingungen formulieren muss, um das Ziel zu erreichen.

Hier mal mein Beispielscode:
//Falls alle 3 Rangplätze bei A002 und A003 besetzt wurden

if ((value('A415') == '3') && (value('A416') == '3')
&& ((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')))
{
question('A414', '2-3');
}

elseif ((value('A415') == '3') && (value('A416') == '3')
&& ((value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')))
{
question('A414', '1,3');
}

elseif ((value('A415') == '3') && (value('A416') == '3')
&& ((value('A415_01') == '3') && (value('A416_24') == '3')||
(value('A415_02') == '3') && (value('A416_25') == '3')||
(value('A415_03') == '3') && (value('A416_26') == '3')||
(value('A415_04') == '3') && (value('A416_27') == '3')))
{
question('A414', '1-2');
}

//Falls nur jeweils 2 Rangplätze besetzt wurden

if ((value('A415') == '2') && (value('A416') == '2')
&& ((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')))
{
question('A414', '2-3');
}

elseif ((value('A415') == '2') && (value('A416') == '2')
&& ((value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')))
{
question('A414', '1,3');
}

elseif ((value('A415') == '2') && (value('A416') == '2')
&& ((value('A415_01') == '3') && (value('A416_24') == '3')||
(value('A415_02') == '3') && (value('A416_25') == '3')||
(value('A415_03') == '3') && (value('A416_26') == '3')||
(value('A415_04') == '3') && (value('A416_27') == '3')))
{
question('A414', '1-3');
}

if ((value('A415') == '1') && (value('A416') == '1')
&& ((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')))
{
question('A414', '2-3');
}

elseif ((value('A415') == '1') && (value('A416') == '1')
&& ((value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')))
{
question('A414', '1,3');
}

elseif ((value('A415') == '1') && (value('A416') == '1')
&& ((value('A415_01') == '3') && (value('A416_24') == '3')||
(value('A415_02') == '3') && (value('A416_25') == '3')||
(value('A415_03') == '3') && (value('A416_26') == '3')||
(value('A415_04') == '3') && (value('A416_27') == '3')))
{
question('A414', '1-3');
}

Ich weiß da gerade nicht wirklich weiter, ich hoffe ich konnte das komplexe Filterchaos einigermaßen klarstellen.

Grüße

by SoSci Survey (316k points)
> 1.) ...bei der finalen Frage A004 nur dann Item 1, 2 und 3 angezeigt werden, wenn die Befragten auch für die vorherigen Rangordnungsfragen die entsprechenden Plätze 1, 2 und 3 auch belegt haben.

Das machen Sie am besten mit getItems(..., '>', 0) - damit haben sie erstmal ein Array, welche Items Sie zeigen möchten.

Und auf Basis der bestimmten Kombinationen und mit array_diff() können Sie dann immer noch Items entfernen aus dieser Liste. Ich denke, damit sind Sie deutlich kompakter als wenn Sie alle Möglichkeiten abbildern.
by s227216 (150 points)
Vielen Dank für die Antwort, leider verstehe ich nicht, was genau ich nun unternehmen soll.

Die zwei Arrays wären dann folgende, oder?

$Array1= getItems(A415, '>', 0)
$Array2= getItems(A416, '>', 0)

Wie kann ich daraus denn einen Filter konstruieren, der entsprechend die Item aus der letzten Frage anzeigt?

Und, wie kann ich dann mittels array_diff() verschiedene, vorher festgelegte, Kombinationen von Items aus A415 und A416 bestimmen, die dafür sorgen, dass dann das entsprechende Item aus der letzten Frage nicht angezeigt wird?


Stehe da gerade total auf dem Schlauch, tut mir leid.


Kann ich anstelle zu bestimmen, was angezeigt werden soll (also bspw.{question('A414', '1,3');}), auch festlegen, dass etwas nicht angezeigt werden soll? So etwas wie 'hide'?
by SoSci Survey (316k points)
> leider verstehe ich nicht, was genau ich nun unternehmen soll.

Wenn ich konkreter werden soll, müssten Sie bitte Ihre Frage konkretisieren.

Welche Items möchten Sie in welcher Frage zeigen?

> Kann ich anstelle zu bestimmen, was angezeigt werden soll (also bspw.{question('A414', '1,3');}), auch festlegen, dass etwas nicht angezeigt werden soll? So etwas wie 'hide'?

Sie können eine Liste aller Items erstellen und dann mittels array_diff() die "abziehen", die nicht gezeigt werden sollen, ja.

$all = getItem('XY01', 'all');
$show = array_diff($all, [2,4,6]);
by s227216 (150 points)
Also:

Die Fragen A415 und A416 sind Rangordnungsfragen. Dort können Items auf Platz 1, 2 und 3 vergeben werden.

In der Folgefrage A414 sollen die genannten Items auf jeweiles Rang 1, 2 und 3 kombiniert in einem Satz als neue Items angezeigt werden.

Das konnte ich über den oben beschriebenen Lösungsvorschlag bereits umsetzen.

Nun benötige ich zwei Filterlogiken.

1.) Wenn eine Person alle drei Plätze von A415 und A416 besetzt hat, sollen alle drei Items von A414 angezeigt werden. Wenn bei A415 "3" und bei A416 nur "2" Items einsortiert wurden, dann sollen nur zwei Items angezeigt werden, so dass immer eine Kombination der Items von A415 und A416 für ein Item in A414 möglich ist. Das klappt bisher gut über einen value-Filter.

Der zweite Filter:

2.) Manche Itemkombinationen von A415 und A416 ergeben keinen Sinn, in diesem Fall muss das entsprechende Item bei A414 ausgeblendet werden.

Bisher habe ich versucht, das über einen riesigen Filtercode zu regeln, das funktioniert aber nicht.

Hier einmal das Code-Monster, das dadurch entstanden ist:

//Übertragung der Items
$eins = getItems('A415', 'is', 1);
if (!empty($eins)) {
  $auswahl = $eins[0];
  $titel = getItemtext('A415', $auswahl);
  replace('%title%', $titel);
}

$zwei= getItems('A416', 'is', 1);
if (!empty($zwei)) {
  $auswahl2 = $zwei[0];
  $titel2 = getItemtext('A416', $auswahl2);
  replace('%platz%', $titel2);
}


$drei= getItems('A415', 'is', 2);
if (!empty($drei)) {
  $auswahl3 = $drei[0];
  $titel3 = getItemtext('A415', $auswahl3);
  replace('%title2%', $titel3);
}

$vier= getItems('A416', 'is', 2);
if (!empty($vier)) {
  $auswahl4 = $vier[0];
  $titel4 = getItemtext('A416', $auswahl4);
  replace('%platz2%', $titel4);
}

$fünf= getItems('A415', 'is', 3);
if (!empty($fünf)) {
  $auswahl5 = $fünf[0];
  $titel5 = getItemtext('A415', $auswahl5);
  replace('%title3%', $titel5);
}

$sechs= getItems('A416', 'is', 3);
if (!empty($sechs)) {
  $auswahl6 = $sechs[0];
  $titel6 = getItemtext('A416', $auswahl6);
  replace('%platz3%', $titel6);
}

**Das funktioniert super**
by s227216 (150 points)
Danach habe ich versucht die Filter zu realisieren:

//Filter für "alle drei besetzt"

//Alle drei Plätze sind mit ungültigen Kombinationen belegt, Frage soll übersprungen werden

if ((value('A415') == '3') && (value('A416') == '3'))&&
((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')||
(value('A415_05') == '1') && (value('A416_28') == '1')||
(value('A415_06') == '1') && (value('A416_29') == '1')||
(value('A415_07') == '1') && (value('A416_30') == '1')||
(value('A415_08') == '1') && (value('A416_31') == '1')||
(value('A415_09') == '1') && (value('A416_32') == '1')||
(value('A415_10') == '1') && (value('A416_33') == '1')||
(value('A415_11') == '1') && (value('A416_34') == '1')||
(value('A415_12') == '1') && (value('A416_35') == '1')||
(value('A415_13') == '1') && (value('A416_36') == '1')||
(value('A415_14') == '1') && (value('A416_37') == '1')||
(value('A415_15') == '1') && (value('A416_38') == '1')||
(value('A415_16') == '1') && (value('A416_39') == '1')||
(value('A415_17') == '1') && (value('A416_40') == '1')||
(value('A415_18') == '1') && (value('A416_41') == '1')||
(value('A415_19') == '1') && (value('A416_42') == '1')||
(value('A415_20') == '1') && (value('A416_43') == '1')||
(value('A415_21') == '1') && (value('A416_44') == '1')||
(value('A415_22') == '1') && (value('A416_45') == '1')||
(value('A415_23') == '1') && (value('A416_46') == '1')||
(value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')||
(value('A415_05') == '2') && (value('A416_28') == '2')||
(value('A415_06') == '2') && (value('A416_29') == '2')||
(value('A415_07') == '2') && (value('A416_30') == '2')||
(value('A415_08') == '2') && (value('A416_31') == '2')||
(value('A415_09') == '2') && (value('A416_32') == '2')||
(value('A415_10') == '2') && (value('A416_33') == '2')||
(value('A415_11') == '2') && (value('A416_34') == '2')||
(value('A415_12') == '2') && (value('A416_35') == '2')||
(value('A415_13') == '2') && (value('A416_36') == '2')||
(value('A415_14') == '2') && (value('A416_37') == '2')||
(value('A415_15') == '2') && (value('A416_38') == '2')||
(value('A415_16') == '2') && (value('A416_39') == '2')||
(value('A415_17') == '2') && (value('A416_40') == '2')||
(value('A415_18') == '2') && (value('A416_41') == '2')||
(value('A415_19') == '2') && (value('A416_42') == '2')||
(value('A415_20') == '2') && (value('A416_43') == '2')||
(value('A415_21') == '2') && (value('A416_44') == '2')||
(value('A415_22') == '2') && (value('A416_45') == '2')||
(value('A415_23') == '2') && (value('A416_46') == '2')||
(value('A415_01') == '3') && (value('A416_24') == '3')||
(value('A415_02') == '3') && (value('A416_25') == '3')||
(value('A415_03') == '3') && (value('A416_26') == '3')||
(value('A415_04') == '3') && (value('A416_27') == '3')||
(value('A415_05') == '3') && (value('A416_28') == '3')||
(value('A415_06') == '3') && (value('A416_29') == '3')||
(value('A415_07') == '3') && (value('A416_30') == '3')||
(value('A415_08') == '3') && (value('A416_31') == '3')||
(value('A415_09') == '3') && (value('A416_32') == '3')||
(value('A415_10') == '3') && (value('A416_33') == '3')||
(value('A415_11') == '3') && (value('A416_34') == '3')||
(value('A415_12') == '3') && (value('A416_35') == '3')||
(value('A415_13') == '3') && (value('A416_36') == '3')||
(value('A415_14') == '3') && (value('A416_37') == '3')||
(value('A415_15') == '3') && (value('A416_38') == '3')||
(value('A415_16') == '3') && (value('A416_39') == '3')||
(value('A415_17') == '3') && (value('A416_40') == '3')||
(value('A415_18') == '3') && (value('A416_41') == '3')||
(value('A415_19') == '3') && (value('A416_42') == '3')||
(value('A415_20') == '3') && (value('A416_43') == '3')||
(value('A415_21') == '3') && (value('A416_44') == '3')||
(value('A415_22') == '3') && (value('A416_45') == '3')||
(value('A415_23') == '3') && (value('A416_46') == '3'))
{
question('A001');
}

//die ersten zwei Kombinationen sind ungültig

if((value('A415') == '3') && (value('A416') == '3'))&&
((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')||
(value('A415_05') == '1') && (value('A416_28') == '1')||
(value('A415_06') == '1') && (value('A416_29') == '1')||
(value('A415_07') == '1') && (value('A416_30') == '1')||
(value('A415_08') == '1') && (value('A416_31') == '1')||
(value('A415_09') == '1') && (value('A416_32') == '1')||
(value('A415_10') == '1') && (value('A416_33') == '1')||
(value('A415_11') == '1') && (value('A416_34') == '1')||
(value('A415_12') == '1') && (value('A416_35') == '1')||
(value('A415_13') == '1') && (value('A416_36') == '1')||
(value('A415_14') == '1') && (value('A416_37') == '1')||
(value('A415_15') == '1') && (value('A416_38') == '1')||
(value('A415_16') == '1') && (value('A416_39') == '1')||
(value('A415_17') == '1') && (value('A416_40') == '1')||
(value('A415_18') == '1') && (value('A416_41') == '1')||
(value('A415_19') == '1') && (value('A416_42') == '1')||
(value('A415_20') == '1') && (value('A416_43') == '1')||
(value('A415_21') == '1') && (value('A416_44') == '1')||
(value('A415_22') == '1') && (value('A416_45') == '1')||
(value('A415_23') == '1') && (value('A416_46') == '1')||
(value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')||
(value('A415_05') == '2') && (value('A416_28') == '2')||
(value('A415_06') == '2') && (value('A416_29') == '2')||
(value('A415_07') == '2') && (value('A416_30') == '2')||
(value('A415_08') == '2') && (value('A416_31') == '2')||
(value('A415_09') == '2') && (value('A416_32') == '2')||
(value('A415_10') == '2') && (value('A416_33') == '2')||
(value('A415_11') == '2') && (value('A416_34') == '2')||
(value('A415_12') == '2') && (value('A416_35') == '2')||
(value('A415_13') == '2') && (value('A416_36') == '2')||
(value('A415_14') == '2') && (value('A416_37') == '2')||
(value('A415_15') == '2') && (value('A416_38') == '2')||
(value('A415_16') == '2') && (value('A416_39') == '2')||
(value('A415_17') == '2') && (value('A416_40') == '2')||
(value('A415_18') == '2') && (value('A416_41') == '2')||
(value('A415_19') == '2') && (value('A416_42') == '2')||
(value('A415_20') == '2') && (value('A416_43') == '2')||
(value('A415_21') == '2') && (value('A416_44') == '2')||
(value('A415_22') == '2') && (value('A416_45') == '2')||
(value('A415_23') == '2') && (value('A416_46') == '2'))
{
question('A414','3');
}

//nur Kombination eins ist ungültig

if((value('A415') == '3') && (value('A416') == '3'))&&
((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')||
(value('A415_05') == '1') && (value('A416_28') == '1')||
(value('A415_06') == '1') && (value('A416_29') == '1')||
(value('A415_07') == '1') && (value('A416_30') == '1')||
(value('A415_08') == '1') && (value('A416_31') == '1')||
(value('A415_09') == '1') && (value('A416_32') == '1')||
(value('A415_10') == '1') && (value('A416_33') == '1')||
(value('A415_11') == '1') && (value('A416_34') == '1')||
by s227216 (150 points)
(value('A415_12') == '1') && (value('A416_35') == '1')||
(value('A415_13') == '1') && (value('A416_36') == '1')||
(value('A415_14') == '1') && (value('A416_37') == '1')||
(value('A415_15') == '1') && (value('A416_38') == '1')||
(value('A415_16') == '1') && (value('A416_39') == '1')||
(value('A415_17') == '1') && (value('A416_40') == '1')||
(value('A415_18') == '1') && (value('A416_41') == '1')||
(value('A415_19') == '1') && (value('A416_42') == '1')||
(value('A415_20') == '1') && (value('A416_43') == '1')||
(value('A415_21') == '1') && (value('A416_44') == '1')||
(value('A415_22') == '1') && (value('A416_45') == '1')||
(value('A415_23') == '1') && (value('A416_46') == '1'))
{
question('A414','2,3');
}

//nur Kombination eins ist gültig

if((value('A415') == '3') && (value('A416') == '3'))&&
((value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')||
(value('A415_05') == '2') && (value('A416_28') == '2')||
(value('A415_06') == '2') && (value('A416_29') == '2')||
(value('A415_07') == '2') && (value('A416_30') == '2')||
(value('A415_08') == '2') && (value('A416_31') == '2')||
(value('A415_09') == '2') && (value('A416_32') == '2')||
(value('A415_10') == '2') && (value('A416_33') == '2')||
(value('A415_11') == '2') && (value('A416_34') == '2')||
(value('A415_12') == '2') && (value('A416_35') == '2')||
(value('A415_13') == '2') && (value('A416_36') == '2')||
(value('A415_14') == '2') && (value('A416_37') == '2')||
(value('A415_15') == '2') && (value('A416_38') == '2')||
(value('A415_16') == '2') && (value('A416_39') == '2')||
(value('A415_17') == '2') && (value('A416_40') == '2')||
(value('A415_18') == '2') && (value('A416_41') == '2')||
(value('A415_19') == '2') && (value('A416_42') == '2')||
(value('A415_20') == '2') && (value('A416_43') == '2')||
(value('A415_21') == '2') && (value('A416_44') == '2')||
(value('A415_22') == '2') && (value('A416_45') == '2')||
(value('A415_23') == '2') && (value('A416_46') == '2')||
(value('A415_01') == '3') && (value('A416_24') == '3')||
(value('A415_02') == '3') && (value('A416_25') == '3')||
(value('A415_03') == '3') && (value('A416_26') == '3')||
(value('A415_04') == '3') && (value('A416_27') == '3')||
(value('A415_05') == '3') && (value('A416_28') == '3')||
(value('A415_06') == '3') && (value('A416_29') == '3')||
(value('A415_07') == '3') && (value('A416_30') == '3')||
(value('A415_08') == '3') && (value('A416_31') == '3')||
(value('A415_09') == '3') && (value('A416_32') == '3')||
(value('A415_10') == '3') && (value('A416_33') == '3')||
(value('A415_11') == '3') && (value('A416_34') == '3')||
(value('A415_12') == '3') && (value('A416_35') == '3')||
(value('A415_13') == '3') && (value('A416_36') == '3')||
(value('A415_14') == '3') && (value('A416_37') == '3')||
(value('A415_15') == '3') && (value('A416_38') == '3')||
(value('A415_16') == '3') && (value('A416_39') == '3')||
(value('A415_17') == '3') && (value('A416_40') == '3')||
(value('A415_18') == '3') && (value('A416_41') == '3')||
(value('A415_19') == '3') && (value('A416_42') == '3')||
(value('A415_20') == '3') && (value('A416_43') == '3')||
(value('A415_21') == '3') && (value('A416_44') == '3')||
(value('A415_22') == '3') && (value('A416_45') == '3')||
(value('A415_23') == '3') && (value('A416_46') == '3'))
{
question('A414', '1');
}

//Kombination 2 ist ungültig

if((value('A415') == '3') && (value('A416') == '3'))&&
((value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')||
(value('A415_05') == '2') && (value('A416_28') == '2')||
(value('A415_06') == '2') && (value('A416_29') == '2')||
(value('A415_07') == '2') && (value('A416_30') == '2')||
(value('A415_08') == '2') && (value('A416_31') == '2')||
(value('A415_09') == '2') && (value('A416_32') == '2')||
(value('A415_10') == '2') && (value('A416_33') == '2')||
(value('A415_11') == '2') && (value('A416_34') == '2')||
(value('A415_12') == '2') && (value('A416_35') == '2')||
(value('A415_13') == '2') && (value('A416_36') == '2')||
(value('A415_14') == '2') && (value('A416_37') == '2')||
(value('A415_15') == '2') && (value('A416_38') == '2')||
(value('A415_16') == '2') && (value('A416_39') == '2')||
(value('A415_17') == '2') && (value('A416_40') == '2')||
(value('A415_18') == '2') && (value('A416_41') == '2')||
(value('A415_19') == '2') && (value('A416_42') == '2')||
(value('A415_20') == '2') && (value('A416_43') == '2')||
(value('A415_21') == '2') && (value('A416_44') == '2')||
(value('A415_22') == '2') && (value('A416_45') == '2')||
(value('A415_23') == '2') && (value('A416_46') == '2'))
{
question('A414', '1,3');
}


//Kombination 3 ist ungültig
if((value('A415') == '3') && (value('A416') == '3'))&&
((value('A415_01') == '3') && (value('A416_24') == '3')||
(value('A415_02') == '3') && (value('A416_25') == '3')||
(value('A415_03') == '3') && (value('A416_26') == '3')||
(value('A415_04') == '3') && (value('A416_27') == '3')||
(value('A415_05') == '3') && (value('A416_28') == '3')||
(value('A415_06') == '3') && (value('A416_29') == '3')||
(value('A415_07') == '3') && (value('A416_30') == '3')||
(value('A415_08') == '3') && (value('A416_31') == '3')||
(value('A415_09') == '3') && (value('A416_32') == '3')||
(value('A415_10') == '3') && (value('A416_33') == '3')||
(value('A415_11') == '3') && (value('A416_34') == '3')||
(value('A415_12') == '3') && (value('A416_35') == '3')||
(value('A415_13') == '3') && (value('A416_36') == '3')||
(value('A415_14') == '3') && (value('A416_37') == '3')||
(value('A415_15') == '3') && (value('A416_38') == '3')||
(value('A415_16') == '3') && (value('A416_39') == '3')||
(value('A415_17') == '3') && (value('A416_40') == '3')||
(value('A415_18') == '3') && (value('A416_41') == '3')||
(value('A415_19') == '3') && (value('A416_42') == '3')||
(value('A415_20') == '3') && (value('A416_43') == '3')||
(value('A415_21') == '3') && (value('A416_44') == '3')||
(value('A415_22') == '3') && (value('A416_45') == '3')||
(value('A415_23') == '3') && (value('A416_46') == '3'))
{
question('A414', '1-2');
}

// Nur jeweils zwei Ränge von A415 und A416 wurden vergeben

//Keine gültige Kombination, Frage überspringen

if ((value('A415') == '2') && (value('A416') == '2'))&&
((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')||
(value('A415_05') == '1') && (value('A416_28') == '1')||
(value('A415_06') == '1') && (value('A416_29') == '1')||
(value('A415_07') == '1') && (value('A416_30') == '1')||
(value('A415_08') == '1') && (value('A416_31') == '1')||
(value('A415_09') == '1') && (value('A416_32') == '1')||
(value('A415_10') == '1') && (value('A416_33') == '1')||
(value('A415_11') == '1') && (value('A416_34') == '1')||
(value('A415_12') == '1') && (value('A416_35') == '1')||
(value('A415_13') == '1') && (value('A416_36') == '1')||
(value('A415_14') == '1') && (value('A416_37') == '1')||
(value('A415_15') == '1') && (value('A416_38') == '1')||
(value('A415_16') == '1') && (value('A416_39') == '1')||
(value('A415_17') == '1') && (value('A416_40') == '1')||
(value('A415_18') == '1') && (value('A416_41') == '1')||
(value('A415_19') == '1') && (value('A416_42') == '1')||
(value('A415_20') == '1') && (value('A416_43') == '1')||
(value('A415_21') == '1') && (value('A416_44') == '1')||
(value('A415_22') == '1') && (value('A416_45') == '1')||
(value('A415_23') == '1') && (value('A416_46') == '1')||
(value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')||
(value('A415_05') == '2') && (value('A416_28') == '2')||
(value('A415_06') == '2') && (value('A416_29') == '2')||
(value('A415_07') == '2') && (value('A416_30') == '2')||
(value('A415_08') == '2') && (value('A416_31') == '2')||
(value('A415_09') == '2') && (value('A416_32') == '2')||
(value('A415_10') == '2') && (value('A416_33') == '2')||
(value('A415_11') == '2') && (value('A416_34') == '2')||
(value('A415_12') == '2') && (value('A416_35') == '2')||
(value('A415_13') == '2') && (value('A416_36') == '2')||
(value('A415_14') == '2') && (value('A416_37') == '2')||
(value('A415_15') == '2') && (value('A416_38') == '2')||
(value('A415_16') == '2') && (value('A416_39') == '2')||
(value('A415_17') == '2') && (value('A416_40') == '2')||
(value('A415_18') == '2') && (value('A416_41') == '2')||
(value('A415_19') == '2') && (value('A416_42') == '2')||
(value('A415_20') == '2') && (value('A416_43') == '2')||
(value('A415_21') == '2') && (value('A416_44') == '2')||
(value('A415_22') == '2') && (value('A416_45') == '2')||
(value('A415_23') == '2') && (value('A416_46') == '2'))
{
question('A001');
}

//Kombination 1 ist ungültig
by s227216 (150 points)
if((value('A415') == '2') && (value('A416') == '2'))&&
((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')||
(value('A415_05') == '1') && (value('A416_28') == '1')||
(value('A415_06') == '1') && (value('A416_29') == '1')||
(value('A415_07') == '1') && (value('A416_30') == '1')||
(value('A415_08') == '1') && (value('A416_31') == '1')||
(value('A415_09') == '1') && (value('A416_32') == '1')||
(value('A415_10') == '1') && (value('A416_33') == '1')||
(value('A415_11') == '1') && (value('A416_34') == '1')||
(value('A415_12') == '1') && (value('A416_35') == '1')||
(value('A415_13') == '1') && (value('A416_36') == '1')||
(value('A415_14') == '1') && (value('A416_37') == '1')||
(value('A415_15') == '1') && (value('A416_38') == '1')||
(value('A415_16') == '1') && (value('A416_39') == '1')||
(value('A415_17') == '1') && (value('A416_40') == '1')||
(value('A415_18') == '1') && (value('A416_41') == '1')||
(value('A415_19') == '1') && (value('A416_42') == '1')||
(value('A415_20') == '1') && (value('A416_43') == '1')||
(value('A415_21') == '1') && (value('A416_44') == '1')||
(value('A415_22') == '1') && (value('A416_45') == '1')||
(value('A415_23') == '1') && (value('A416_46') == '1'))
{
question ('A414','2');
}

//Kombination 2 ist ungültig

if((value('A415') == '2') && (value('A416') == '2'))&&
((value('A415_01') == '2') && (value('A416_24') == '2')||
(value('A415_02') == '2') && (value('A416_25') == '2')||
(value('A415_03') == '2') && (value('A416_26') == '2')||
(value('A415_04') == '2') && (value('A416_27') == '2')||
(value('A415_05') == '2') && (value('A416_28') == '2')||
(value('A415_06') == '2') && (value('A416_29') == '2')||
(value('A415_07') == '2') && (value('A416_30') == '2')||
(value('A415_08') == '2') && (value('A416_31') == '2')||
(value('A415_09') == '2') && (value('A416_32') == '2')||
(value('A415_10') == '2') && (value('A416_33') == '2')||
(value('A415_11') == '2') && (value('A416_34') == '2')||
(value('A415_12') == '2') && (value('A416_35') == '2')||
(value('A415_13') == '2') && (value('A416_36') == '2')||
(value('A415_14') == '2') && (value('A416_37') == '2')||
(value('A415_15') == '2') && (value('A416_38') == '2')||
(value('A415_16') == '2') && (value('A416_39') == '2')||
(value('A415_17') == '2') && (value('A416_40') == '2')||
(value('A415_18') == '2') && (value('A416_41') == '2')||
(value('A415_19') == '2') && (value('A416_42') == '2')||
(value('A415_20') == '2') && (value('A416_43') == '2')||
(value('A415_21') == '2') && (value('A416_44') == '2')||
(value('A415_22') == '2') && (value('A416_45') == '2')||
(value('A415_23') == '2') && (value('A416_46') == '2'))
{
question('A414', '1');
}

//Nur jeweils ein Rang von A415 und A416 wurde vergeben
//Kombination ungültig, Frage überspringen

if((value('A415') == '1') && (value('A416') == '1'))&&
((value('A415_01') == '1') && (value('A416_24') == '1')||
(value('A415_02') == '1') && (value('A416_25') == '1')||
(value('A415_03') == '1') && (value('A416_26') == '1')||
(value('A415_04') == '1') && (value('A416_27') == '1')||
(value('A415_05') == '1') && (value('A416_28') == '1')||
(value('A415_06') == '1') && (value('A416_29') == '1')||
(value('A415_07') == '1') && (value('A416_30') == '1')||
(value('A415_08') == '1') && (value('A416_31') == '1')||
(value('A415_09') == '1') && (value('A416_32') == '1')||
(value('A415_10') == '1') && (value('A416_33') == '1')||
(value('A415_11') == '1') && (value('A416_34') == '1')||
(value('A415_12') == '1') && (value('A416_35') == '1')||
(value('A415_13') == '1') && (value('A416_36') == '1')||
(value('A415_14') == '1') && (value('A416_37') == '1')||
(value('A415_15') == '1') && (value('A416_38') == '1')||
(value('A415_16') == '1') && (value('A416_39') == '1')||
(value('A415_17') == '1') && (value('A416_40') == '1')||
(value('A415_18') == '1') && (value('A416_41') == '1')||
(value('A415_19') == '1') && (value('A416_42') == '1')||
(value('A415_20') == '1') && (value('A416_43') == '1')||
(value('A415_21') == '1') && (value('A416_44') == '1')||
(value('A415_22') == '1') && (value('A416_45') == '1')||
(value('A415_23') == '1') && (value('A416_46') == '1'))
{question(A001);}

-------------------------------------------------------------------------------------
Im Grunde brauche ich hier auch noch eine else Bedingung, die dann greift, wenn keiner der vorherigen Filter greift und mir die Frage einfach komplett anzeigt.

Leider bin ich total im Code-Chaos versunken.
Ich bin mir auch sicher, dass es eine deutlich schlankere Syntax geben muss.
by SoSci Survey (316k points)
> Die Fragen A415 und A416 sind Rangordnungsfragen. Dort können Items auf Platz 1, 2 und 3 vergeben werden.
> In der Folgefrage A414 sollen die genannten Items auf jeweiles Rang 1, 2 und 3 kombiniert in einem Satz als neue Items angezeigt werden.

Daraus entnehme ich, das in beiden Fragen jeweils mehr als 3 Optionen angeboten werden, und es sind auch unterschiedliche Optionen in den beiden Fragen - soweit korrekt?
by s227216 (150 points)
In beiden Fragen sind Items enthalten, die in einer vorherigen Frage hoch oder niedrig bewertet wurden.

Es können also mehr als drei pro Frage sein, manchmal aber auch weniger. Pro Befragtem können aber niemals diesselben Items bei beiden Fragen als Optionen auftauchen.
by SoSci Survey (316k points)
> Es können also mehr als drei pro Frage sein, manchmal aber auch weniger.

Das ist das, was angezeigt wird. Aber in den Fragen sind generell mehr als 3 Optionen angelegt, korrekt? Und ... sind das in beiden Fragen dieselben Optionen, oder unterschiedliche Optionen, die angelegt sind?

Steht der Code 1 also in beiden Fragen für dieselbe Option oder für unterschiedliche Optionen (Items)?
by s227216 (150 points)
Ja, hinterlegt sind dieselben Items, mit denselben Bezeichnungen.

Also die Items A415_01 und A416_01 haben denselben Inhalt, sie können aber nicht beide gleichzeitig in beiden Fragen angezeigt werden.
by SoSci Survey (316k points)
> Ja, hinterlegt sind dieselben Items, mit denselben Bezeichnungen.

Gut, das macht die Sache deutlich einfacher.

Wir brauchen also "nur" die Items, die in  A415 und A416 irgendwo platziert wurden, also einen Code >0 haben:

$itemsA = getItems('A415', 'answered');
$itemsB = getItems('A416', 'answered');
$items = array_merge($itemsA, $itemsB);
// Eventuell noch sortieren
sort($items);

question('A414', $items);
by s227216 (150 points)
So werden mir jetzt bei der letzten Frage alle Items einzeln importiert und nicht jeweils Rang 1 A415 zusammen mit Rang 1 A416 in einem neuen Item zusammen angezeigt.

Das hat vorher mit den Platzhaltern eigentlich gut funktioniert, es scheiterte lediglich daran, dass ich dann die ungewünschten Kombinationen nicht vorher festlegen und das entsprechende item mit der ungewünschten Kombination nicht ausblenden konnte.

Das neue Item soll quasi so aussehen:

Die Person hat "A415_01" und "A416_26". (beide wurden jeweils auf Platz 1 gewählt)

Die Frage soll aber ausgeblendet werden, falls
"Die Person hat "A415_01" und "A416_24"" entstehen würde.
Also wenn gewisse Variablen in A415 und A416 beide eine 1, beide eine 2 oder beide eine 3 bekommen, soll das dazu führen ,dass das entsprechende Item in A414 ausgeblendet wird.
by SoSci Survey (316k points)
> nicht jeweils Rang 1 A415 zusammen mit Rang 1 A416 in einem neuen Item zusammen angezeigt.

Okay, das hatte ich so noch nicht verstanden. Dann eben ...

$items = array_merge(
  getItems('A415', 'is', 1),
  getItems('A415', 'is', 2)
);
if (count($items) > 1) {
  question('A414', $items);
}

> Also wenn gewisse Variablen

Kombinationen können Sie wie folgt "ausblenden".

$items = array_merge(
  getItems('A415', 'is', 1),
  getItems('A415', 'is', 2)
);
sort($items);
if ((count($items) > 1) && ($items != [1,26])) {
  question('A414', $items);
}

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

...