- This topic is empty.
-
AuthorPosts
-
24. June 2022 at 16:35 #1294Lena SchmitzGuest
Liebe Community, welche Möglichkeiten gibt es bei Unipark “adaptive” Mittelwerte zu berechnen? Bisher habe ich über einen Trigger den MW berechnet, z.B.: (#v_1# + #v_2# + #v_3# + #v_4#) / 4
Allerdings kommt es ja zu Verzerrungen sobald ein Item nicht beantwortet wurde. Ist es möglich, den Wert des Nenners auf die Anzahl der beantworteten Items anzupassen (d.h. im Beispiel oben, dass im Falle der Nichtbeantwortung von v_1 der Mittelwert aus den 3 beantworteten Items v_2, v_3 & v_4 ermittelt wird)? Herzlichen Dank im Voraus! Lena24. June 2022 at 16:35 #1295Michael TGuestHmmm… also ich habe es gerade versucht und SGN ist bei mir auch keine gültige Funktion mehr… Dabei bin ich mir zu 100% sicher, dass ich die Funktion schon verwendet habe… Möglicherweise hat Unipark/Questback die Funktion abgeschaltet, auch wenn das in vielen Projekten für Unruhe und unerwartetes Verhalten sorgen dürfte da die Funktion auch schon so hier im Forum als Lösung vorgeschlagen wurde… Gibts dazu weiteres Infos seitens @Unipark Support (QuestBack AS) was der SGN Funktion zugestoßen ist? Egal, das hilft dir natürlich nicht weiter…
Bevor wir zur Problemlösung kommen, noch eine kleine Korrektur zu meinem ersten Post:
SGN: gibt es so scheinbar nicht mehr. Eine Ähnliche Funktion ist SIGN, allerdings gibt SIGN bei einer negativen Zahl eine negative Zahl zurück und nicht 0, wie SGN das gemacht hat.
ABS: entfernt nur das Vorzeichen, aus -77 wird also 77
Lösung:
1) Du legst drei benutzerdefinierte Variablen vom Typ Dezimalzahl an: Umfragemenü > Projekteigenschaften > Benutzerdefinierte Variablen
2) Du erstellst auf der Seite mit der Variablen v_4 (oder eine Seite später) einen Rekodierungstrigger, “Ausführen auch in Vorschau” und “Nach dem abschicken, vor dem filtern”. Speichern und anschließend in die Detailkonfiguration wechseln.
3.1) Nenner in c_0001 berechnen (Addiert v_1 zu c_0001 hinzu, wenn v_X größer 0 ist)
3.2) Zu rekodierende Variable: c_0001, Rekodierungswert: #c_0001# + #v_1#, Bedingung: #v_1# > 0, Speichern (dadurch kannst du eine weitere Rekodierung hinzufügen)
3.3) Zu rekodierende Variable: c_0001, Rekodierungswert: #c_0001# + #v_2#, Bedingung: #v_2# > 0, Speichern.
3.4) Zu rekodierende Variable: c_0001, Rekodierungswert: #c_0001# + #v_3#, Bedingung: #v_3# > 0, Speichern.
3.5) Zu rekodierende Variable: c_0001, Rekodierungswert: #c_0001# + #v_4#, Bedingung: #v_4# > 0, Speichern.
4.1) Den Zähler in c_0002 berechnen (Addiert 1 zu c_0002) hinzu, wenn v_X größer 0 ist)
4.2) Zu rekodierende Variable: c_0002, Rekodierungswert: #c_0002# + 1, Bedingung: #v_1# > 0, Speichern.
4.3) Zu rekodierende Variable: c_0002, Rekodierungswert: #c_0002# + 1, Bedingung: #v_2# > 0, Speichern.
4.4) Zu rekodierende Variable: c_0002, Rekodierungswert: #c_0002# + 1, Bedingung: #v_3# > 0, Speichern.
4.5) Zu rekodierende Variable: c_0002, Rekodierungswert: #c_0002# + 1, Bedingung: #v_4# > 0, Speichern.
5) Zu rekodierende Variable: c_0003, Rekodierungswert: #c_0001# / #c_0002#, Bedingung: keine, Speichern.
Ggf. durch größer/gleich 0 ersetzen, wenn 0 in deinem Kontext eine gültige Antwort sein sollte. Ist leider etwas Fleißarbeit…
-
AuthorPosts
- You must be logged in to reply to this topic.