Liebes SoSci-Team,
ich versuche gerade aus einer sichtbaren Variable UD01_xx eine interne Variable UD02_xx zu bilden. Die sichtbare Variable UD01_xx nimmt die Werte 1 (nicht ausgewählt) oder 2 (ausgewählt) an. Die interne Variable UD02_xx soll ebenfalls den Wert 1 annehmen, falls UD01_xx den Wert 1 hat. Falls UD01_xx den Wert 2 hat, soll jedoch die interne Variable UD02_xx den Wert 0 annehmen.
Ich habe, basierend auf einer früheren Antwort im Support, den Sie an einen anderen Fragesteller geschickt haben, folgende Befehle eingegeben:
$input1 = 'UD01';
$output1 = 'UD02';
// Liste aller Items erstellen
$items1 = getItems($input1, '>=', 1);
foreach ($items1 as $item) {
// id() baut aus einer Fragekennung (UD01) und der Item-Nummer (z.B. 1) eine Item-Kennung (UD01_01)
// value() liest den Antwortcode aus
$orgCode = value(id($input1, $item));
// Nur bejahende Antworten umkodieren, d.h. auf null setzen
if ($orgCode = 2) {
// Subtrahieren von 2
$newCode = $orgCode - 2;
}
else {
// Andere Codes beibehalten
$newCode = $orgCode;
}
// put() speichert den Wert in einer internen Variable
put(id($output1, $item), $newCode);
}
Das Problem ist nun, dass in der neuen Variable korrekterweise statt einer 2 eine 0 auftaucht, aber die Werte 1 nicht übernommen werden - da taucht nun ebenfalls eine 0 auf. Leider kann ich meinen Fehler nicht finden.
Ein weiteres Problem ist, dass die Antwortcodes bei den internen Variablen in Excel als Text und nicht als Zahlen angezeigt werden und ich nicht weiß, wie ich das ändern kann.
Vielen Dank für Ihre Unterstützung und beste Grüße