Please help us help you and fill where relevant:
LimeSurvey version: Version 6.12.4+250408
Own server or LimeSurvey Cloud:
Survey theme/template: Fruity
==================
Hello everyone,I’m new to LimeSurvey and currently working on a survey that includes multiple double-matrix questions (3 matrices with about 10 subitems each, so roughly 30 subitems in total).My challenge:
I want to identify which subquestion were rated as most important about all matrices because I plan to include a follow-up question asking respondents why they rated certain subitems as most important. I built an ExpressionScript formula that compares the values of the subitems and returns the one with the highest score, but it became very large (see below). This works for one matrix and returns the first maximum value found. However, for 30 subitems, I would need to greatly expand this, which becomes very complex and hard to maintain.My questions:
- Is there a more elegant or efficient way in LimeSurvey to check multiple Subquestions for their maximum value and response the name of the subquestion and dynamically identify multiple top Subquestions (e.g., if several subquestions share the highest rating)?
- Or do I have to extend and nest these ExpressionScript formulas for each matrix and every subitem?
My ExpressionScript:
{if(CEditQ01Part1_SQ001_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ001', if(CEditQ01Part1_SQ002_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ002', if(CEditQ01Part1_SQ003_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ003', if(CEditQ01Part1_SQ004_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ004', if(CEditQ01Part1_SQ005_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ005', if(CEditQ01Part1_SQ006_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ006', if(CEditQ01Part1_SQ007_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ007', if(CEditQ01Part1_SQ008_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ008', if(CEditQ01Part1_SQ009_0.NAOK == max(CEditQ01Part1_SQ001_0.NAOK,CEditQ01Part1_SQ002_0.NAOK,CEditQ01Part1_SQ003_0.NAOK,CEditQ01Part1_SQ004_0.NAOK,CEditQ01Part1_SQ005_0.NAOK,CEditQ01Part1_SQ006_0.NAOK,CEditQ01Part1_SQ007_0.NAOK,CEditQ01Part1_SQ008_0.NAOK,CEditQ01Part1_SQ009_0.NAOK,CEditQ01Part1_SQ010_0.NAOK), 'SQ009', 'SQ010')))))))))}