27/10/2024
Qualtrics er en utrolig kraftfuld platform til at skabe undersøgelser, men nogle gange støder man på situationer, hvor standardfunktionaliteten ikke helt slår til. Et almindeligt behov er at udføre matematiske beregninger baseret på en respondents svar – for eksempel at udregne en samlet score, et gennemsnit eller implementere en mere kompleks algoritme. Mens Qualtrics tilbyder simple matematiske operationer, åbner brugen af JavaScript en verden af muligheder for at skabe dynamiske, intelligente og skræddersyede undersøgelsesoplevelser. Denne artikel vil guide dig igennem, hvordan du kan udnytte JavaScript til at udføre beregninger direkte i din Qualtrics-undersøgelse.

Hvorfor bruge JavaScript til beregninger?
Inden vi dykker ned i den tekniske vejledning, er det værd at forstå fordelene ved at bruge JavaScript. Ved at integrere simple scripts kan du:
- Oprette brugerdefinerede scoringssystemer: Tildel forskellige vægte til svar og beregn en samlet score i realtid.
- Implementere kompleks logik: Udfør beregninger, der går ud over simpel addition eller subtraktion, f.eks. ved hjælp af regressionsformler eller betingede beregninger.
- Give øjeblikkelig feedback: Vis respondenten resultatet af en beregning (f.eks. en quiz-score eller en BMI-udregning) direkte på skærmen.
- Forbedre Survey Flow: Brug de beregnede værdier til at styre respondentens vej gennem undersøgelsen med avanceret forgreningslogik.
- Gemme beregnede data: Gem resultaterne som variabler, der kan analyseres sammen med de øvrige undersøgelsesdata.
Den simple metode: Matematiske operationer uden JavaScript
For helt simple beregninger, der kun skal vises for respondenten og ikke gemmes i datasættet, har Qualtrics en indbygget funktion. Du kan udføre simple matematiske operationer ved at bruge syntaksen $e{ } direkte i spørgsmålsteksten.
Eksempler:
- For at vise resultatet af 4 + 4, skriver du:
$e{4 + 4}. Dette vil blive vist som "8" for respondenten. - For en mere kompleks beregning som (4+4)/2, skriver du:
$e{(4 + 4) / 2}. Dette vil blive vist som "4".
Vigtig begrænsning: Selvom denne metode er hurtig og nem, bliver resultaterne af disse beregninger ikke gemt i dine undersøgelsesresultater. De er udelukkende til visning. For at gemme og genbruge værdier skal du bruge JavaScript-metoden.
Den avancerede metode: Trin-for-trin guide til JavaScript
For at udføre beregninger, gemme resultaterne og bruge dem dynamisk, skal vi benytte en kombination af tre kernekomponenter i Qualtrics: spørgsmål (input), indlejrede data (lagring) og JavaScript (behandling). Processen kan opdeles i tre hovedtrin.

Trin 1: Opret dine input-spørgsmål
Først skal du oprette de spørgsmål, hvis svar skal indgå i din beregning. Dette kan være multiple choice, skydere, tekstfelter eller enhver anden spørgsmålstype, der giver et numerisk input. For dette eksempel opretter vi tre simple multiple choice-spørgsmål, som vi navngiver "A", "B" og "C", hvor svarmulighederne har numeriske værdier.
Trin 2: Opret indlejrede datavariabler
Dernæst skal vi oprette de variabler, hvor vi vil gemme resultaterne af vores beregninger. Dette gøres i Survey Flow (undersøgelsesflowet).
- Gå til "Survey Flow".
- Klik på "Add a New Element Here".
- Vælg "Embedded Data".
- Indtast navnene på de variabler, du vil oprette. I vores eksempel opretter vi to variabler: `utility` (til at gemme resultatet af en formel) og `maxInput` (til at finde den højeste værdi af de tre svar).
- Du kan også oprette variabler, der fungerer som faste parametre i din beregning, f.eks. `aMultiplier`, `bMultiplier` og `intercept`. Dette gør det nemt at justere din formel senere uden at skulle redigere selve JavaScript-koden.
- Sørg for, at dette "Embedded Data"-element er placeret i dit flow før det punkt, hvor beregningen skal finde sted.
Trin 3: Tilføj JavaScript-koden
Nu er det tid til at skrive selve koden. Koden skal placeres i et spørgsmål, der kommer efter de input-spørgsmål, du oprettede i trin 1.

- Opret et nyt spørgsmål (typen er underordnet, f.eks. "Text/Graphic").
- Klik på tandhjuls-ikonet ved siden af spørgsmålet og vælg "Add JavaScript...".
- Indsæt følgende kode i det vindue, der åbner sig:
Qualtrics.SurveyEngine.addOnload(function() { /* Hent svarværdierne fra dine spørgsmål */ // VIGTIGT: Udskift 'QIDx' med det korrekte ID for dine spørgsmål. var aInput = "${q://QID1/ChoiceGroup/SelectedChoices}"; var bInput = "${q://QID2/ChoiceGroup/SelectedChoices}"; var cInput = "${q://QID3/ChoiceGroup/SelectedChoices}"; /* Konverter tekst-input til heltal (meget vigtigt!) */ aInput = parseInt(aInput); bInput = parseInt(bInput); cInput = parseInt(cInput); /* Hent parameterværdier fra indlejrede data */ var aMultiplier = parseInt("${e://Field/aMultiplier}"); var bMultiplier = parseInt("${e://Field/bMultiplier}"); var cMultiplier = parseInt("${e://Field/cMultiplier}"); var intercept = parseInt("${e://Field/intercept}"; /* Udfør dine matematiske beregninger her */ var maxInput = Math.max(aInput, bInput, cInput); var utility = intercept + (aInput * aMultiplier) + (bInput * bMultiplier) + (cInput * cMultiplier); /* Gem de beregnede værdier i dine indlejrede datavariabler */ Qualtrics.SurveyEngine.setEmbeddedData('maxInput', maxInput); Qualtrics.SurveyEngine.setEmbeddedData('utility', utility); });Forståelse af koden
Lad os bryde koden ned for at forstå, hvad hver del gør:
Qualtrics.SurveyEngine.addOnload(function(){...});: Dette er standard-wrapperen for JavaScript i Qualtrics. Den sikrer, at koden kører, når siden er fuldt indlæst.var aInput = "${q://QID1/...}";: Her bruger vi Piped Text til at hente respondentens svar fra et specifikt spørgsmål. Du skal erstatte QID med det faktiske ID for dine spørgsmål.parseInt(): Dette er en af de vigtigste funktioner. Qualtrics henter som udgangspunkt svar som tekststrenge. Hvis du prøver at lægge to tekststrenge sammen, f.eks. "7" + "2", bliver resultatet "72" i stedet for 9.parseInt()konverterer tekststrengen til et heltal, så matematikken fungerer korrekt. Hvis du arbejder med decimaltal, skal du brugeparseFloat()i stedet.var aMultiplier = "${e://Field/aMultiplier}";: Her henter vi værdier fra de indlejrede data, vi oprettede tidligere. Dette gør koden mere fleksibel.Math.max(...)og formlen for `utility`: Dette er selve beregningerne. Du kan erstatte disse med enhver matematisk operation, du har brug for.Qualtrics.SurveyEngine.setEmbeddedData('utility', utility);: Denne linje er afgørende. Den tager den beregnede værdi (gemt i JavaScript-variablen `utility`) og gemmer den i den Qualtrics Embedded Data-variabel, der hedder `utility`. Nu er værdien gemt og kan bruges senere i undersøgelsen og i din dataanalyse.
Sammenligning af metoder
Her er en hurtig oversigt over forskellene mellem den simple $e{ }-metode og den avancerede JavaScript-metode.
| Funktion | Simpel metode ($e{ }) | JavaScript-metode |
|---|---|---|
| Kompleksitet | Meget lav | Moderat (kræver grundlæggende kendskab) |
| Lagring af data | Nej, kun til visning | Ja, gemmes som indlejrede data |
| Brug i Survey Flow | Nej | Ja, til forgreningslogik |
| Anvendelsesområder | Visning af simple summer, f.eks. "Du har valgt 3 ud af 5". | Scoring, komplekse formler, brugerdefineret feedback, dynamisk logik. |
Ofte stillede spørgsmål (FAQ)
- Hvorfor bliver mine tal lagt sammen som tekst (f.eks. 2 + 5 bliver til 25)?
- Dette sker, fordi du ikke har konverteret input-værdierne fra tekststrenge til tal. Sørg for at bruge
parseInt()for heltal ellerparseFloat()for decimaltal på alle variabler, du henter fra respondentens svar. - Hvordan finder jeg et spørgsmåls QID?
- Du kan finde QID'et ved at klikke på spørgsmålet i editoren. Det vil typisk stå øverst til venstre eller højre for spørgsmålsnummeret. En nemmere måde er at bruge Piped Text-menuen i Rich Content Editor til at indsætte koden for et svar, og derefter kopiere QID'et derfra.
- Kan jeg vise det beregnede resultat for respondenten?
- Ja. Når du har gemt værdien i en indlejret datavariabel (f.eks. 'utility'), kan du vise den i et efterfølgende spørgsmål ved at bruge Piped Text-syntaksen for indlejrede data:
${e://Field/utility}. - Skal jeg være programmør for at kunne bruge dette?
- Det hjælper at have en grundlæggende forståelse, men du behøver ikke være ekspert. Du kan ofte kopiere og tilpasse eksemplet i denne artikel ved at ændre QID'er og den matematiske formel, så den passer til dit behov.
Konklusion
At lære at bruge JavaScript i Qualtrics kan virke skræmmende i starten, men det åbner for et helt nyt niveau af tilpasning og funktionalitet. Ved at følge de tre trin – opret spørgsmål, definer indlejrede data, og indsæt JavaScript – kan du transformere dine standardundersøgelser til interaktive værktøjer, der kan udføre komplekse beregninger, give personlig feedback og reagere intelligent på respondenternes input. Start med simple beregninger og eksperimenter dig frem for at udnytte det fulde potentiale i dine Qualtrics-projekter.
Hvis du vil læse andre artikler, der ligner Qualtrics: Beregninger med JavaScript, kan du besøge kategorien Sundhed.
