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

0 votes

Hallo,
ich habe folgenden Fehler bekommen:

"Die Variable SI03_01 (aber auch _02,03,04,05,06) gibt es in diesem
Projekt nicht (siehe Variablen-Übersicht). Daher kann kein
Antwort-Wert dafür ermittelt werden.

Die Variable existiert aber! Auch in der Variablen-Übersicht. Und der Name der Variable ist korrekt. Woran könnte es liegen?
Mit den anderen Variablen funktioniert der Kode prima. Ich habe auch diese Variable umbenannt und eine neue Variable erstellt... Immer der gleiche Fehler

    $input = 'SI03';
$output = 'IV15';
// Liste aller Items erstellen
$items = getItems($input, 'all');
// Alle Items durchgehen
foreach ($items as $item) {
  // id() baut aus einer Fragekennung (SI01) und der Item-Nummer (z.B. 1) eine Item-Kennung (SC01_01)
  // value() ließt den Antwortcode aus
  $orgCode = value(id($input, $item));
  // Nur positive Codes umkodieren
  if ($orgCode > 0) {
    // Subtrahieren von 1
    $newCode = $orgCode - 1;
  } else {
    // Fehlercodes beibehalten 
    $newCode = $orgCode;
  }
  // put() speichert den Wert in einer internen Variable
  put(id($output, $item), $newCode);
}

Danke

in SoSci Survey (dt.) by s102537 (140 points)
edited by s102537
Könnten Sie bitte den entsprechenden Auszug aus der Variablen-Übersicht posten? Wird die Variable dort schwarz oder grau angezeigt? Eine Zeichen-Verwechslung zwischen I (großes i) und l (kleines L) liegt nicht vor, oder?
Hab den Screenschot oben gepostet.
Schwarz
nein, leider.  Eine Zeichen-Verwechslung liegt nicht vor.
Am Anfang habe ich aus Versehen ein Item gelöscht (SI03_01). Hab es dann aber gleich korrigiert. Aber der Fehler verschwindet nicht.
Ich habe eine komplett neue Variable erstellt (mit der gleichen Antwortsmöglichkeiten). Geht trotzdem nicht

1 Answer

+1 vote
 
Best answer

Danke für den Screenshot. Es gibt tatsächlich keine (!) Variable SI03_01 - zwar gibt es eine Antwortoption 01 in dieser Frage, aber keine Variable dazu. Denn eine einfachen Auswahl (welche diese Frage ist) hat nur eine Variable (SI03).

Der oben genannte Code ist für Skalenbatterien. Wenn Sie nur diese eine Variable umkodieren möchten, reicht ein einfacherer Code.

$orgCode = value('SI03');
$output = 'IV15_01';  // Hier wird eine Variable angegeben

// Hier die eigentliche Umkodierung - nur positive Codes umkodieren
if ($orgCode > 0) {
  // Subtrahieren von 1
  $newCode = $orgCode - 1;
} else {
  // Fehlercodes beibehalten 
  $newCode = $orgCode;
}
// put() speichert den Wert in einer internen Variable
put($output, $newCode);

Wenn Sie mehrere solche Fragen haben, können Sie das auch "en block" abarbeiten. Defineiren Sie dafür zunächst eine Liste von Eingabe- und Ausgabevariablen und arbeiten Sie diese dann mit einer Schleife (foreach) ab.

$variables = [
  'SI03' => 'IV01_01',
  'SI04' => 'IV01_02',
  'SI05' => 'IV01_03'
];
foreach ($variables as $input => $output) {
    $orgCode = value($input);
    if ($orgCode > 0) {
      $newCode = $orgCode - 1;
    } else {
      $newCode = $orgCode;
    }
    put($output, $newCode);
}
by SoSci Survey (71.5k points)
selected by s102537
Vielen herzlichen Dank!
...