Welcome to the LimeSurvey Community Forum

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

Relevanz-Gleichung

More
6 years 4 months ago #161052 by obr
Relevanz-Gleichung was created by obr
Liebes Limesurvey-Forum,

ich möchte in einer Befragung den Teilnehmern Matrix-Teilfragen entsprechend des ihnen zugeordneten Tokens anzeigen lassen. Bislang scheitere ich daran :-)

Mein Setup:

Teilnehmer 1: Token = ABCDEFGHI
Teilnehmer 2: Token = DEFGHI
Teilnehmer 3: Token = ABCGHI

Matrix-Teilfragen inkl. Relevanz
Teilfrage 1 ABC - Relevanzgleichung Token == "*ABC*"
Teilfrage 2 DEF - Relevanzgleichung Token == "*DEF*"
Teilfrage 3 GHI - - Relevanzgleichung Token == "*GHI*"

Ich habe (naiv) angenommen, dass mit Hilfe meiner Relevanzgleichung geprüft wird, ob an irgendeiner Stelle des Token der Wert ABC bzw. DEF oder GHI vorkommt und die entsprechende Teilfrage angezeigt wird. In meinem obigen Beispiel soll Teilfrage 1 bspw. nur den Befragten Teilnehmer 1 und Teilnehmer 3 angezeigt werden.
Hat jemand eine Idee, wie ich diese Aufgabe lösen kann bzw. einen Tipp für einen anderen Workaround?

Besten Dank für jeden Hinweis
Olli
The topic has been locked.
More
6 years 4 months ago #161058 by jelo
Replied by jelo on topic Relevanz-Gleichung
* in "*ABC*" ist einfach das Zeichen "*" und kein Platzhalter.

Der Expression-Manager bietet Zugriff auf PHP-Funktionen.
Übersicht über alle Funktionen ,die innerhalb von Relevanzgleichungen verwendet werden können, findest Du hier: manual.limesurvey.org/Expression_Manager#Implemented_Functions

Dort finden sich auch Funktionen wie z.B. StriStr oder StrPos
www.php.net/manual/en/function.stristr.php
www.php.net/manual/en/function.stripos.php
Damit koenntest Du auf das Vorkommen einer Zeichenkette in einer anderen Zeichenkette prüfen.

Komplexere Suchen gehen via RegularExpressions (Funktion bool regexMatch(pattern,input) )
manual.limesurvey.org/Using_regular_expressions

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The following user(s) said Thank You: obr
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 4 months ago #161069 by holch
Replied by holch on topic Relevanz-Gleichung
Wesentlich einfacher dürfte es sein ein Custom-Attribute für jeden dieser Buchstaben in der Teilnehmertabelle anzulegen und dann einfach im Fragebogen abzufragen, ob dieses Attribut gesetzt wurde oder nicht.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The following user(s) said Thank You: obr
The topic has been locked.
More
6 years 4 months ago #161086 by obr
Replied by obr on topic Relevanz-Gleichung
Besten Dank!
Ich habe es nun über die zusätzlichen Attributfelder gelöst:

attribut_1<ABC>
attribut_2<DEF>
attribut_3<GHI>

Dort habe ich jeweils den Wert 1 gesetzt, wenn das Attribut als Teilfrage erscheinen soll. Die Relevanzgleichung in der Matrix lautet bei mir dann:

TOKEN:ATTRIBUT_1 == "1"
TOKEN:ATTRIBUT_2 == "1"
TOKEN:ATTRIBUT_3 == "1"

Da habe ich im ersten Versuch wohl zu kompliziert gedacht (:
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose