0 votes
in Methoden-Fragen by s140816 (120 points)
edited by SoSci Survey

Hallo,

ich möchte gerne eine Conjoint-Analyse erstellen und habe mich schon im Forum eingelesen, komme nun leider nicht mehr weiter.

Folgendes möchte ich darstellen: jeder Person wird eine Auswahlsituation gezeigt, in der zwischen drei Sets entschieden werden soll. Ein Set besteht wiederum aus drei Elementen (Marke, Preis, Herkunft). Diese Elemente haben jeweils drei Ausprägungen (z.B. Preis: 9,99€, 19,99€ und 29,99€). Diese Ausprägungen sollen zufällig miteinander kombiniert werden, sodass es 27 unterschiedliche Sets geben kann.
Insgesamt soll dann jede Person sechs solcher Auswahlsituationen vorgelegt bekommen.

Ich habe dazu einen Zufallsgenerator angelegt und alle 27 Kombinationen untereinander eingetragen. Die "Anzahl Zettel pro Interview" habe ich auf 18 gestellt (6 Auswahlsituationen à 3 Sets) und bei "Art der Ziehung" erstmal gleichverteilte Ziehung ohne Zurücklegen gelassen.

Als nächstes habe ich eine Auswahlfrage mit drei Kärtchen angelegt, in jedem Kärtchen steht der Platzhalter %sets%.

Unter "Fragebogen zusammenstellen" habe ich folgendes gemacht:

Auf einer Seite habe ich zunächst den Zufallsgenerator eingefügt und darunter folgenden PHP-Code:

$kombinationen = array(
  1 => array('9,99', 'Made in Germany', 'Herstellermarke'),
  2 => array('19,99', 'Made in Germany', 'Herstellermarke'),
  3 => array('29,99', 'Made in Germany', 'Herstellermarke'),
  4 => array('9,99', 'Made in Germany', 'Eigenmarke'),
  5 => array('19,99', 'Made in Germany', 'Eigenmarke'),
  6 => array('29,99', 'Made in Germany', 'Eigenmarke'),
  7 => array('9,99', 'Made in Germany', 'keine Marke'),
  8 => array('19,99', 'Made in Germany', 'keine Marke'),
  9 => array('29,99', 'Made in Germany', 'keine Marke'),
  10 => array('9,99', 'Made in Italy', 'Herstellermarke'),
  11 => array('19,99', 'Made in Italy', 'Herstellermarke'),
  12 => array('29,99', 'Made in Italy', 'Herstellermarke'),
  13 => array('9,99', 'Made in Italy', 'Eigenmarke'),
  14 => array('19,99', 'Made in Italy', 'Eigenmarke'),
  15 => array('29,99', 'Made in Italy', 'Eigenmarke'),
  16 => array('9,99', 'Made in Italy', 'keine Marke'),
  17 => array('19,99', 'Made in Italy', 'keine Marke'),
  18 => array('29,99', 'Made in Italy', 'keine Marke'),
  19 => array('9,99', 'Made in China', 'Herstellermarke'),
  20 => array('19,99', 'Made in China', 'Herstellermarke'),
  21 => array('29,99', 'Made in China', 'Herstellermarke'),
  22 => array('9,99', 'Made in China', 'Eigenmarke'),
  23 => array('19,99', 'Made in China', 'Eigenmarke'),
  24 => array('29,99', 'Made in China', 'Eigenmarke'),
  25 => array('9,99', 'Made in China', 'keine Marke'),
  26 => array('19,99', 'Made in China', 'keine Marke'),
  27 => array('29,99', 'Made in China', 'keine Marke'),
);
$variants = valueList('ZG01');
debug($variants);
foreach($variants as $varID => $code){
$data=$kombinationen[$code];
foreach($data as $i => $text){
replace ('%sets%'.$varID.'_'.($i+1).'%',$text);
}
}

Auf der nächsten Seite steht dann die Auswahlfrage mit Kärtchen.

Wenn ich nun die Konstellation im Debug-Modus teste sehe ich zwar drei Kärtchen, in jedem dieser Kärtchen steht allerdings immer nur ein Element und noch dazu überall der gleiche Begriff (z.B. "Eigenmarke").

Folgende Debug-Information bekomme ich:

[Information]	Interview gestartet (neue Nummer 198)
[Information]	Der Fragebogen base im Projekt herkunftsangaben wird verwendet
[Verarbeitung]	Erstelle Seite 1 in Fragebogen base
[Inhalt]	Erstelle Frage ZG01
[Information]	Vom Zufallsgenerator ZG01 wurden folgende Codes gezogen: 18, 6, 5
debug()	Inhalt: ZG01x0118, ZG01x026, ZG01x035
[Information]	Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 2
[Verarbeitung]	Erstelle Seite 2 in Fragebogen base
[Inhalt]	Erstelle Frage CJ10
[Information]	Folgende Platzhalter sind vorbereitet:
%sets% = (Text) Eigenmarke

Leider konnte ich bis jetzt nicht herausfinden, wo genau mein Fehler liegt und würde mich sehr freuen, wenn jemand weiterhelfen könnte!

Danke im Voraus!

Viele Grüße

1 Answer

0 votes
by SoSci Survey (328k points)

Ich habe dazu einen Zufallsgenerator angelegt und alle 27 Kombinationen untereinander eingetragen. Die "Anzahl Zettel pro Interview" habe ich auf 18 gestellt (6 Auswahlsituationen à 3 Sets) und bei "Art der Ziehung" erstmal gleichverteilte Ziehung ohne Zurücklegen gelassen.

Wenn Sie es so machen, dann werden Sie keine Kombination zweimal im Interview haben. Das kann beabsichtigt sein, vielleicht aber auch nicht. Deshalb nur als Hinweis.

[Information] Vom Zufallsgenerator ZG01 wurden folgende Codes gezogen: 18, 6, 5

Hatten Sie die Anzahl pro Interview zu ziehender Kärtchen testweise auf 3 reduziert?

[Information] Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 2

Auf welcher Seite des Fragebogens steht Ihr PHP-Code?

Wenn ich nun die Konstellation im Debug-Modus teste sehe ich zwar drei Kärtchen, in jedem dieser Kärtchen steht allerdings immer nur ein Element und noch dazu überall der gleiche Begriff (z.B. "Eigenmarke").

Da wäre zunächst zu klären, wie Sie die drei Kärtchen ausgeben lassen. Und welche Platzhalter Sie darin verwenden. Ich habe kurz über folgende Information gestaunt:

[Information] Folgende Platzhalter sind vorbereitet:
%sets% = (Text) Eigenmarke

Allerdings habe ich dann gesehen, dass ein Prozent-Zeichen zu viel ist. Falsch:

replace ('%sets%'.$varID.'_'.($i+1).'%',$text);

Und mit einem Prozentzeichen weniger richtig:

replace ('%sets'.$varID.'_'.($i+1).'%',$text);
by s140816 (120 points)
Danke für die schnelle Rückmeldung!

"Hatten Sie die Anzahl pro Interview zu ziehender Kärtchen testweise auf 3 reduziert?"

Ja. Ich wollte es zunächst an einer Auswahlsituation testen, daher erst mal nur 3 Kärtchen.

"Auf welcher Seite des Fragebogens steht Ihr PHP-Code?"

Bis jetzt besteht mein Fragebogen nur aus zwei Seiten. Auf der ersten Seite steht der PHP-Code (unter dem Zufallsgenerator positioniert).

"Und mit einem Prozentzeichen weniger richtig:"

replace ('%sets'.$varID.'_'.($i+1).'%',$text);

Danke für den Hinweis. Allerdings bekomme ich nun die Warnung:

Für den Platzhalter %sets% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt.

und in den Kärtchen steht nur die Bezeichnung des Platzhalters.

Die Debug-Info lautet:

[Information]    Interview gestartet (neue Nummer 207)
[Information]    Der Fragebogen base im Projekt herkunftsangaben wird verwendet
[Verarbeitung]    Erstelle Seite 1 in Fragebogen base
[Inhalt]    Erstelle Frage ZG01
[Information]    Vom Zufallsgenerator ZG01 wurden folgende Codes gezogen: 24, 26, 5
debug()    Inhalt: ZG01x0124, ZG01x0226, ZG01x035
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 2
[Verarbeitung]    Erstelle Seite 2 in Fragebogen base
[Inhalt]    Erstelle Frage CJ10
[Information]    Folgende Platzhalter sind vorbereitet:
%setsZG01x01_1% = (Text) 29,99
%setsZG01x01_2% = (Text) Made in China
%setsZG01x01_3% = (Text) Eigenmarke
%setsZG01x02_1% = (Text) 19,99
%setsZG01x02_2% = (Text) Made in China
%setsZG01x02_3% = (Text) keine Marke
%setsZG01x03_1% = (Text) 19,99
%setsZG01x03_2% = (Text) Made in Germany
%setsZG01x03_3% = (Text) Eigenmarke
by SoSci Survey (328k points)
> Für den Platzhalter %sets% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt.

Ja, genau. Sie haben ja nicht nur einen Text und einen Platzhalter - sondern jetzt 3x3 = 9 (s. die Debug-Information, die Sie gepostet haben). Diese Platzhaltern müssten Sie dann auch im Text bzw. HTML-Code verwenden.
by s140816 (120 points)
Danke für die Antwort. Leider habe ich es auch nach einigen Versuchen noch nicht richtig hinbekommen.

Beispielsweise habe ich die in der gezeigten Debug-Info vorbereiteten Platzhalter in meine Auswahlfrage eingefügt, also

1. Kärtchen: %setsZG01x01_1, %setsZG01x01_2, %setsZG01x01_3
2. Kärtchen: %setsZG01x02_1, %setsZG01x02_2, %setsZG01x02_3
3. Kärtchen: %setsZG01x03_1, %setsZG01x03_2, %setsZG01x03_3

und entsprechend neun Platzhalter in diesem Stil festgelegt:

replace ('%setsZG01x01_1'.$varID.'_'.($i+1).'%',$text);

Leider wird mir aber kein Text angezeigt, es stehen weiterhin die Platzhalter in den Kärtchen.

Wo liegt mein Fehler?

Ich wundere mich auch darüber, dass ich scheinbar einzelne Platzhalter für jedes Kriterium brauche. Eigentlich habe ich doch in den Arrays und im Zufallsgenerator direkt Auswahlsets mit je drei Elementen vorbereitet?
by SoSci Survey (328k points)
> und entsprechend neun Platzhalter in diesem Stil festgelegt:

Vorsicht ... Sie machen den Code für den Platzhalter immer noch komplizierter :)

Das varID ist ja bereits ein "ZG01x01" oder ein "ZG01x02". Der Punkt verbindet in PHP Texte. Also bedeutet

'%setsZG01x01_1'.$varID.'_'.($i+1).'%'

Zum Beispiel

'%setsZG01x01_1' + "ZG01x01" + '_' + 1 + '%'

Ihr neue Platzhalter würde nun also heißen

%setsZG01x01_1ZG01x01_1%

Belassen Sie es einfach bei dem Code, den Sie vorher hatten:

replace ('%sets'.$varID.'_'.($i+1).'%',$text);

> Ich wundere mich auch darüber, dass ich scheinbar einzelne Platzhalter für jedes Kriterium brauche.

Ein Platzhalter ersetzt genau eine Stelle im Text. Wenn Sie 3 Stellen ersetzen möchten, brauchen Sie 3 Platzhalter.
by s140816 (120 points)
Vielen Dank, ich habe das Problem gelöst :)

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

...