Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Matrix Zahlen jeweils nur ein Mal auswählen

  • Paulo_Shate
  • Paulo_Shate's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 2 months ago #209895 by Paulo_Shate
Hallo zusammen,

ich habe momentan ein kleines Problem bei meiner Umfrage.

Ich habe eine Matrix mit Zahlen erstellt. Auf der Y-Achse sind vier verschiedene Produkte zu sehen. Auf der X-Achse ist der Rang (Zahlen von 1-4). Ich möchte, dass ein Ranking erstellt wird (Wenn ich die Maskenfrage Rangfolge verwende, habe ich auf der mobilen Version ein Problem mit den Bildern. Deswegen habe ich mich dazu entschieden das Ranking mit einer Matrix zu erstellen). Ist es möglich, dass jede Zahl nur ein einziges Mal verwendet werden kann? Momentan ist es leider noch der Fall, dass die Teilnehmer jedes Produkt mit dem Rang 1 auswählen können.

Freundliche Grüße und vielen Dank im Voraus

Paulo
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 2 months ago - 3 years 2 months ago #209896 by Joffm
Hallo, Paolo,
um sicherzustellen, dass jede Antwortmöglichkeit nur einmal gewählt wird, musst Du dies überprüfen.
Leider hast Du nicht gesagt, mit welcher Version von LimeSurvey Du arbeitest; daher werde ich Dir keine screenshots zeigen (die dann möglicherweise eine andere Version zeigen), sondern nur beschreiben.

Wie gesagt, Du musst "validieren". Dazu findest Du unter "Logik" die "Frage-Validierungsgleichung".
Hier trägst Du ein, welche Bedingung erfüllt sein muss, damit die Frage korrekt beantwortet wurde.
Eben: Alle Werte verschieden.

In den implementierten Funktionen
manual.limesurvey.org/ExpressionScript_-...mplemented_functions
findest Du die Funktion "unique". Der Name ist Programm:

unique Returns true if all non-empty responses are unique boolean unique(arg1, ..., argN)

Dann wäre die Validierungsgleichung nur noch:
unique(Q1_SQ001.NAOK,Q1_SQ002.NAOK,Q1_SQ003.NAOK,Q1_SQ004.NAOK)

Und wenn Du jetzt weiter im Handbuch schaust, findest Du hier
manual.limesurvey.org/ExpressionScript_-....22that.22_variables
die Erklärung von "this", "that" und "self".

Und damit hat die Valifdierungsgleichung nun die endgültige Form
unique(self)

Natürlich ist es dann noch gut, wenn Du in "Frage-Validierungshinweis" einen aussagekräftigen Hinweis gibst, z.B. "Bitte, vergeben Sie jeden Platz nur einmal!"

Dieses und zwei andere Möglichkeiten, eine Rangreihe ohne den "Ranking"-Fragetyp zu machen, findest Du hier:
demo.sondages.pro/714997#

Viel Erfolg
Joffm

P.S.

Ich habe eine Matrix mit Zahlen erstellt

Dies ist etwas irreführend. Was hast Du erstellt? Eine Matrix(Zahlen) mit einer Spalte oder eine Matrix, die die vier Plätze als Antwortoption enthält?

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 2 months ago by Joffm.
The topic has been locked.
  • Paulo_Shate
  • Paulo_Shate's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 2 months ago #209900 by Paulo_Shate
Replied by Paulo_Shate on topic Matrix Zahlen jeweils nur ein Mal auswählen
Hallo Joffm,

Vielen Dank für deine schnelle Rückmeldung!
Ich habe es soeben mit der Formel unique(self) and count(self)==max(self) ausprobiert und es hat direkt geklappt. Du hast mir wahnsinnig geholfen.

Viele Grüße und einen guten Rutsch

Paulo
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 2 months ago #209902 by Joffm
Und Du hast erkannt, dass count(self)==max(self) erzwingt, dass in der Reihenfolge 1., 2. , 3. ,... eingetragen wird, mehr nicht?
Falls jemand also zunächst den ersten Platz, dann den vierten vergibt, kommt die Fehlermeldung.
Meiner Ansicht nach sollte dies aber möglich sein. Es hilft manchen, zunächst die Extremplätze schon einmal zu vergeben und sich dann langsam zur Mitte vorzuarbeiten.
Dann reicht unique(self)

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose