- Posts: 11
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Aus einer Einfach/Mehrfachauswahl einen Wert für spätere Berechnung erzeugen
- michael87
- Topic Author
- Offline
- New Member
ich möchte die Befragten aus einer Liste von Früchten auswählen lassen. Variable "Frucht", Auswahlmöglichkeiten Apfel, Banane, Orange. Für die weitere Befragung ist es nötig, dass diese Früchte einen festen von mir bestimmten Wert erhalten, Apfel 10, Banane, 8, Orange 6.
Auf einer neuen Fragebogenseite soll dann die Berechnung durchgeführt werden und z.B. erscheinen: Sie haben drei Äpfel und zwei Bananen für 46 Euro gekauft. Die Berechnung bekomme ich hin, aber ist es mögliche diese festen Werte an eine Einfach-/Mehrfachauswahl zu heften?
Vielen Dank
Michae
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12940
- Thank you received: 3979
was fragst Du denn nun wirklich?
Du musst ja sicher noch nach der Anzahl der einzelnen Früchte fragen, sonst klappt ja die Berechnung nicht.
So, wie es jetzt aussieht, ist es zunächst eine Mehrfachnennung "Welche?",
danach eine "mehrfache Zahleingabe" (wohl mit Matrixfilter) "Wie viele?"
Dann hätte doch eigentlich eine Frage gereicht "Wie viele?".
Gut, wenn es sehr viele Früchte sind, ist es lästig, bei allen nicht gekauften, eine "0" einzutragen; und es soll ja schließlich eine Pflichtfrage sein.
Dann könntest Du auch eine "Mehrfach mit Kommentar" nehmen.
Jetzt aber zu Deiner Frage:
Natürlich kannst Du Deine Preise als Assessment-Wert in einer Einfach-Frage benutzen.
Aber was soll es bringen?
Falls Du die Preise öfters in verschiedenen Berechnungen brauchst, könntest Du eine (versteckte) Frage (mehrfache Zahl) an den Anfang stellen und als Vorgabewerte Diene Preise eintragen.
Dann greifst Du in den Berechnungen eben auf diese Werte zu.
Vorteil: Du musst bei Änderungen nur an einer Stelle ändern statt in x Gleichungen.
Wenn Du sie aber nur einmal brauchst, ist es sicher einfacher, sie direkt in die Gleichung einzutragen.
Aber in solchen Fällen solltest Du immer einen lss Expoort Deiner Umfrage (nur dieses Teils) schicken.
Bis dann
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- michael87
- Topic Author
- Offline
- New Member
- Posts: 11
- Thank you received: 0
vielen Dank für deine Antwort. Ich merke, konkret sein lohnt sich. Deshalb hier nochmal die lss mit dem tatsächlichen Wunsch. Letztlich möchte ich sehr konkrete Szenarien für die Befragten haben. Das mit der versteckten Seite und vorgegebenen Werten habe ich auch schon überlegt, aber bisher nicht erfolgreich umgesetzt,
Viele Grüße und Danke,
Michael
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12940
- Thank you received: 3979
{230+((Ertrag)-80)} ? Das ist doch einfach {150+Ertrag}. Nimm aber besser {sum(150,Ertrag)}
Was passiert, wenn "Rot==Ja" UND "Vorfrucht Raps oder Zuckerrübe"?
Einfach -20% wegen Rot?
Oder -einfach, aber falsch- -30%?
Oder -28% (zuerst -20%, dann -10% der restlichen 80%, oder auch umgekehrt)
Ich verstehe
so, dass vom Sollwert der Düngung abgezogen wird.Anhand Ihrer Angaben zu den Vorfrüchten werden von diesem Sollwert {(Organik)*0.1}, (-20%, wenn Rot = Ja) und (-10, wenn Vorfrucht = Raps oder Zuckerrüben) abgezogen.
Aber Du rechnest vom Wert der tatsächlich ausgebrachten Menge (Organik)
Wenn es denn nur um diese letzte Formel geht, kannst Du natürlich Bewertungs-Werte in die Vorfrucht und die "Rot"-Frage einbauen
Wenn ich jetzt einmal
{Organik*0.1-(Organik*0.1*Rot.value/100)-(Organik*0.1*Rot.value/100*Vorfrucht.value/100)}
nehme, kommt bei Organic==1000
78
heraus.
Ich glaube aber nicht wirklich, dass dies so sein soll.
Oder sollen entweder 10% von Organik abgezogen werden, aber zusätzlich die Prozente bei Rot und richtiger Vorfrucht?
Bis dann
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- michael87
- Topic Author
- Offline
- New Member
- Posts: 11
- Thank you received: 0
erneut Danke. Ich hatte noch einen kleinen Fehler in der Erklärung.
Mit den 150 plus Ertrag stimmt natürlich. Von dieser Summe müssen dann je nach Antwort, weitere Abzüge gemacht werden. Ich versuche es nochmal Schritt für Schritt:
- wenn Vorfrucht=Raps oder Zuckerrübe, dann 10 (nicht Prozent) abziehen von (sum(150,Ertrag), wenn Mais kein Abzug
- 0.1 *Organik abziehen von (sum(150,Ertrag) --> ist ja kein Problem!
- Nach Abzug von Vorfrucht und Organik von (sum(150,Ertrag), das ganze *0.2, falls rot=ja, wenn nein, dann nicht *0.2
also insgesamt
{((sum(150,Ertrag)-(10 BEI RAPS/RÜBE)-(0.1*Organik))*0.2 NUR WENN ROT=JA)}
Das Problem ist ja, dass ich für rot=ja und Vorfrucht=Raps oder Rübe nicht die Werte habe, sondern nur, ob es angekreuzt wurde oder nicht.
Viele Grüße
Michael
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12940
- Thank you received: 3979
Doch, die hast Du.Das Problem ist ja, dass ich für rot=ja und Vorfrucht=Raps oder Rübe nicht die Werte habe,
Das war ja Deine erste Frage, ob Du das irgendwie anbinden kannst.
Daher erwähnte ich ja die Bewertungswerte und habe in meiner Formel, die noch etwas falsch war, diese benutzt.
Wie Du hier lesen kannst
[url] manual.limesurvey.org/ExpressionScript_-...#Access_to_variables [/url]
greifst Du mit der property ".value" bzw. ".valueNAOK" auf diese zu.
Daher habe ich die Werte entsprechend gesetzt
Dann erhalte ich hiermit
{(sum(150,Ertrag)-Vorfrucht.value-0.1*Organik)*(Rot.value/100)}
Organik: 200
Ertrag: 850 -> Sollwert 1000
Mais / Nicht Rot: 980 (=1000 - 0.1*Organik)
Mais / Rot: 196 (=(1000 - 0.1*Organik)*0.2)
Rübe/Nicht Rot: 970 (=1000 - 10 - 0.1*Organik)
Rübe/ Rot: 194 (=(1000 - 10 - 0.1*Organik)*0.2)
Ich hoffe, jetzt habe ich es begriffen
Und wenn Du die Bewertungswerte nicht benutzen kannst, benutzt Du einfach den Code und setzt den Wert mittels IF
{(sum(150,Ertrag)-if(Vorfrucht!,10,0)-0.1*Organik)*(if(Rot==1,0.2,1))}
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12940
- Thank you received: 3979
also irgendetwas scheint mir hier noch falsch zu sein
Du schreibst
{((sum(150,Ertrag)-(10 BEI RAPS/RÜBE)-(0.1*Organik))*0.2 NUR WENN ROT=JA)}
Am Anfang sah es aber so aus, als würden bei Rot nur 20% abgezogen.
Stimmen der Operator oder die Klammern nicht? Denn hier wird ja einfach 20% des vorher berechneten Betrages genommen.Anhand Ihrer Angaben zu den Vorfrüchten werden von diesem Sollwert {(Organik)*0.1}, (-20%, wenn Rot = Ja) und (-10, wenn Vorfrucht = Raps oder Zuckerrüben) abgezogen.
(
(
sum(150,Ertrag)
-
(
10 BEI RAPS/RÜBE
)
-
(
0.1*Organik
)
)
* 0.2 NUR WENN ROT=JA
)
Heißt, die gesamte rote Klammer wird mit 0.2 multipliziert.
Heißt auch, in roten Gebieten ist der Endbetrag nur ein Fünftel dessen in nicht-roten.
Kann ja sein, ich habe keine Ahnung, was dies alles bedeutet.
Ich wollte aber zur Sicherheit fragen.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- michael87
- Topic Author
- Offline
- New Member
- Posts: 11
- Thank you received: 0
danke vielmals, jetzt hab ichs geschnallt und es funktioniert!
Du hast recht, nicht *0.2, sondern 0.8. Landwirte dürfen in Abhängigkeit von verschiedenen Faktoren eine bestimmte Menge Stickstoff je Hektar düngen. Es gibt sogenannte rote Gebiete. In denen muss dieser Wert um 20% reduziert werden.
Viele Grüße
Please Log in to join the conversation.