Liebes Support-Team,
Ich habe eine etwas längere Fragestellung, bei der ich Ihre Hilfe benötige.
Grundsätzlich, möchte ich eine Discrete-Choice-Analyse durchführen. Dabei sollen die Teilnehmenden an der Umfrage jeweils 2 Alternativen vorgelegt bekommen und sich für eine entscheiden müssen.
Jede Alternative besteht aus 4 Attributen (Abgabesatz, Verwendungszweck, Ertragsaufteilung und Mindestfreigrenze). Jedes Attribut hat eine unters. Anzahl an Attributeigenschaften, davon wird je eine Attributeigenschaft pro Attribut ausgesucht. Die Zusammenstellung sieht wie folgt aus:
Ich habe also in einem ersten Schritt eine Urne erstellt, welche mir von den 180 Kombinationen zwei zufällig herauszieht. Dies sieht wie folgt aus:
$kombinationen = array(
1 => array('20'.'%','allgemeines Gemeinde'.'- oder Kantonsbudget','100'.'% an den Kanton','keine Freigrenze'),
2 => array('20'.'%','allgemeines Gemeinde'.'- oder Kantonsbudget','50'.'% an Kanton und 50'.'% an Gemeinde','keine Freigrenze'),
3 => array('20'.'%','allgemeines Gemeinde'.'- oder Kantonsbudget','100'.'% an d'.'ie Gemeinde','keine Freigrenze'),
4 => array('20'.'%','allgemeines Gemeinde'.'- oder Kantonsbudget','100'.'% an den Kanton','unter 20 000 CHF abgabefrei'),
...
178 => array('60'.'%','raumplanerischen Tätigkeiten','100'.'% an den Kanton','unter 100 000 CHF abgabefrei'),
179 => array('60'.'%','raumplanerischen Tätigkeiten','50'.'% an Kanton und 50'.'% an Gemeinde','unter 100 000 CHF abgabefrei'),
180 => array('60'.'%','raumplanerischen Tätigkeiten','100'.'% an d'.'ie Gemeinde','unter 100 000 CHF abgabefrei'),
);
Ich möchte nun als zweiten Schritt, dass diese Eigenschaften der beiden gezogenen Kombinationen je als einzelne Platzhalter abgespeichert werden, d.h. für jede gezogene Kombination (Zeile oben) soll es mir 4 Platzhalter kreieren. Dazu dieser Auschnitt des PHP-Codes ('AP10' = Urne mit den 2 von 180 gezogenen Kombinationen/Zeilen):
$variants = valueList('AP10');
debug($variants);
foreach ($variants as $varID => $code) {
$data = $kombinationen[$code];
foreach ($data as $i => $text) {
replace('%'.$varID.'_'.($i+1).'%', $text);
}
}
Als dritter Schritt möchte ich die Platzhalter in die Zelle der Tabelle (unten) abfüllen, sodass die Teilnehmenden der Umfrage auch sehen, zwischen welchen beiden Alternativen sie sich entscheiden müssen.
html('
<table border="1" width="100%" cellspacing="0">
<colgroup>
<col width="25%">
<col width="37.5%">
<col width="37.5%">
</colgroup>
<tr>
<td></td>
<td bgcolor="lightgray"><b>Alternative 1</b></td>
<td bgcolor="lightgray"><b>Alternative 2</b></td>
</tr>
<tr>
<td bgcolor="lightgray"><b>Abgabesatz</b></td>
<td> '.%AP10_01_1%.' </td>
<td> '.%AP10_02_1%.' </td>
</tr>
<tr>
<td bgcolor="lightgray"><b>Verwendungszweck</b></td>
<td> '.%AP10_01_2%.' </td>
<td> '.%AP10_02_2%.' </td>
</tr>
<tr>
<td bgcolor="lightgray"> <b>Ertragsaufteilung</b> </td>
<td> '.%AP10_01_3%.' </td>
<td> '.%AP10_02_3%.' </td>
</tr>
<tr>
<td bgcolor="lightgray"><b> Mindestfreigrenze</b> </td>
<td> '.%AP10_01_4%.' </td>
<td> '.%AP10_02_4%.' </td>
</tr>
</table>
');
Meine Fragen lauten wei folgt:
Schritt 2: Ich erhalte folgende Fehlermeldung, weiss allerdings nicht wieso diese auftreten. Denn die Urne zeigt ihre gezogenen Objekte mit debug() an, somit sollten sie definiert sein.
Schritt 3: Bei der Verlinkung zur Tabelle erscheint diese Fehlermeldung unten. Ich möchte am Schluss keine Zahl darin haben, sondern der Textinhalt der Attributeigenschaft aus der Kombination.
Generell denke ich es liegt am zweiten Schritt des PHP-Codes.
Ich verzweifle langsam und mache mir sorgen, dass ich die Umfrage gar nie lancieren kann. Falls jemand noch eine andere Heransgehesweise für eine Discrete-Choice-Umfrage hat, lassen Sie es mich wissen!
Vielen Dank bereits im Voraus und beste Grüsse