0 votes
in SoSci Survey (dt.) by s293908 (230 points)
edited by SoSci Survey

Guten Tag,

im Rahmen einer Daily Diary Study prüfen wir wie viele der Daily Fragebogen ausgefüllt wurden. Wenn 80% ausgefüllt wurden, können die Teilnehmenden sich für eine Gutschein anmelden.

Zum testen ob die täglichen Fragebogen ausgefüllt wurden habe ich jeden der täglichen Fragebogen mir einem Code versehen (z.B. $d1_1 == 1 bedeutet der Fragebogen wurde ausgefüllt):

// check d1_1 ausgefüllt

$keyd1_1 = 'd1_1-'.caseSerial();
$d1_1 = '1';
dbSet($keyd1_1, $d1_1);


Später habe ich folgenden Code verwendet, um zu checken ob 80% der Fragebogen ausgefüllt wurden. Falls dies der Fall ist können die Teilnehmenden sich für den Gutschein anmelden (goToPage('Gutschein');). Hier ist der Code: 

/////////// GET ALL d1, d2, d3 ////////////

// Initialize counters for completed values
$total_d1 = 0;
$total_d2 = 0;
$total_d3 = 0;

// Get caseSerial only once
$serial = caseSerial();

// Retrieve and check d1 values (d1_1 to d1_10)
for ($i = 1; $i <= 10; $i++) {
    $key = 'd1_' . $i . '-' . $serial;
    $d1 = dbGet($key);  // Retrieve value
    if ($d1 !== false && $d1[0] == '1') {
        $total_d1++;  // Increment count if completed
    }
}

// Retrieve and check d2 values (d2_1 to d2_10)
for ($i = 1; $i <= 10; $i++) {
    $key = 'd2_' . $i . '-' . $serial;
    $d2 = dbGet($key);  // Retrieve value
    if ($d2 !== false && $d2[0] == '1') {
        $total_d2++;  // Increment count if completed
    }
}

// Retrieve and check d3 values (d3_1 to d3_10)
for ($i = 1; $i <= 10; $i++) {
    $key = 'd3_' . $i . '-' . $serial;
    $d3 = dbGet($key);  // Retrieve value
    if ($d3 !== false && $d3[0] == '1') {
        $total_d3++;  // Increment count if completed
    }
}

// Sum of all completed values
$total_completed = $total_d1 + $total_d2 + $total_d3;

// Save the total completed count d1,2,3
$key_count_daily = 'count_daily-' . $serial;
dbSet($key_count_daily, $total_completed);


//////////// CHECK COMPLETION d1, d2, d3 ////////////

// 80% of 30 filled out, so at least 24
if ($total_completed >= 24) {
    goToPage('Gutschein');  // d1, d2, d3 completed to 80%
} else {
    goToPage('GutscheinFail');
}

Problem: Für alle Fragebogen, die nicht ausgefüllt wurden, ist kein Wert hinterlegt. Entsprechend gibt SoSci Survey ein Hinweis (z.B. "Für den Schlüssel d3_6- liegen in der Datenbank keine Daten vor."). Der Code an sich funktioniert, jedoch könnten diese Hinweise Teilnehmenden verunsichern.

Frage: Wie kann ich diese Hinweise abstellen? Sollte dies nicht gehen, fällt Ihnen eine Alternative zum umstrukturieren des Codes ein, sodass diese Hinweise nicht entsteht?

Beste Grüße

1 Answer

0 votes
by SoSci Survey (328k points)
selected by s293908
 
Best answer

Entsprechend gibt SoSci Survey ein Hinweis (z.B. "Für den Schlüssel d3_6- liegen in der Datenbank keine Daten vor.").

Diesen Hinweis dürfen nur Sie als Projektleitung sehen - die Befragten (MODE=interview) sollten nichts davon sehen.

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

...