Graded Survey?


Another user asked for a solution to this problem, quoting:

" I'm creating a test where the students grade themselves between 1 and 5 on what they think their ability is for each category.. eg Public Speaking (1,2,3,4 or 5)

There is ten categories. But for each category, the answer they give needs to be multiplied by a certain number, which correlates to the importance of that skill in negotiating. eg

Public Speaking is important = ( number * 5 )

Maintaining Control Over Body Language is LESS important = ( number * 3 )

Questioning is the LEAST important = ( number * 1)

Initially she tried using the Likert question, but it has never a score. So I worked out another scenario


Take the test: one subject only 'Will I be a good teacher'? The percentage at the end should reflect the grade of ability based on your estimations. 

My scenario

I used Multiple Choice Questions as Survey questions. And for once I appreciated the fact that Captivate makes no difference between text and numbers. This was a pleasant and useful discovery: if you use numbers instead of characters for the answers, the value of the system variable cpQuizInfoLastAnswerChoice will be an number and... you can use this number in calculations using advanced actions.This made the solution easy, was glad that my Captivate intuition was correct. I tried to make the solution as simple as possible, because the user was kind of a newbie to advanced actions. Each category will be one Multiple choice question, with the choice of numbers for the Numbering option. All questions have the same possibile answers corresponding with the five grades of ability: 

  1. Very Poor,
  2. Poor
  3. Good
  4. Normal
  5. Excellent

When the user clicks the Submit button, the chosen answer number will be stored in the sysem variable cpQuizInfoAnswerChoice. This value changes after each answer and will be used to calculate the score for the subject.


I created some user variables:

  • v_subject: will store the subject for this list of questions, will be populated in the title slide for the subject; I inserted a text caption on the MCQ master slide  above the Progress indicator to show the subject on each question slide. This variable will get its value by a simple action (Assign) On Enter of the Title slide.
  • v_teacher: stores the cumulated score based on the estimated ability grades and the weight factor (depending on importance) for each category; this value will be calculated by an advanced action triggered by the Submit button. If there is no reason to keep this absolute score, the variable could be reused for another subject, and perhaps then you could better label it v_score.
  • v_maxTeach: will be used to store the maximum score that could be obtained if the maximum ability was indicated everywhere. Of course it could be replaced by a literal value, and in the example this was 100. But I thought it would be more versatile to calculate this maximum score, to avoid dreaded maths...and the calculations are done in the same advanced action triggered by the Submit button.
  • v_percTeach: will store the percentage for this subject, calculated from the variables v_teacher and v_maxTeach by an advanced action triggered on entering the 'score' slide.
  • v_multi: the weight factor for a category, will be populated by a simple action on entering each question (category) slide.
  • v_dummy: a variable necessary to compensate for the limited mathematical functionalities in Captivate, used only for calculations

Events - actions

On Enter Title slide: Simple action Assign v_subject with XXXX    (name of the subject)

On Enter Question slide (for each): Simple action Assign v_multi with .... (weight factor, number)

On Enter Score slide: Advanced action TeachCalcEnd

For each Submit button same Advanced action TeacherCalc

Advanced Actions


This action is triggered by Submit buttons

The variable v_dummy is first used to store the weight of the grade by multiplying v_multi with the chosen answer number (1-5); then the total score v_teacher is incremented with the result.

The same variable is used a second time to calculate the maximum possible score for this category by multiplying v_multi with 5 (maximum ability); and this is used to increment the maximum total score v_maxTeach.

I added the statement 'Go to Next Slide' so that the user doesn't have to wait for the playhead to reach the end of the question slide.


Action, triggered on entering the last slide, which shows the percentage.

Rather simple maths to calculate the percentage from v_teacher and v_maxTeach and store it in the variable v_percTeach.

Some Timesaving tips

Start by creating the user variables, and then add the Text Caption with v_subject to the MCQ Master slide.

Create the title slide, with its On Enter action (assigning a value to v_subject), and duplicate it then for the other subjects. That way you have only to change the value With for the On Enter action and edit the text captions.

Insert only one MCQ slide after the title slide. Edit its text captions, add the simple action On Enter, create the advanced action TeacherCalc to be triggered by the submit button. I unchecked also dragged the Next button under the Clear button but since there is no Review, it could also have been unchecked.

Now duplicate the MCQ-slide 9 times: this will avoid to re-edit the answers, to relocate the buttons, to re-assign the simple action On Enter and the advanced action for the Submit button. Do not forget to edit the With field for the Simple action On Enter that will populate v_multi.

For the question slides in the other objects, you will have to duplicate the advanced actions if you use new variables to store the score (v_teacher), maximum score (v_maxTeach) and percentage (v_percTeach). The variables v_subject, v_dummy are reusable.

23 responses
I am trying to find a way to produce a math timed speed test with Captivate 6.
Desired qualities would be: 1. Many problems on one slide. 2. Cursor automatically inserted in each answer entry box so all boxes could be rapidly filled with numbers or numberpad on keyboard. 3. Cursor jumps to next question box upon entry of answer. Answers can be changed by backspace prior to ENTER only.
4. Quiz can be timed. 5. Results can be sent to LMS.

Specifically, for example, how to create a 100-problem addition speed test where the user must complete all 100 problems correctly within 3 minutes by rapid keyboard numerical entry. It would be preferable to have, for example, 20 questions per slide, instead of a new slide for every question. Results must be reportable to LMS. I want to be able to record the ability of each student to achieve 100% in addition, subtraction, multiplication, and division within a set time limit. I would also like to be able to know how many attempts were made while achieving the perfect result.

Is this possible with a widget? Or is there a way to do it with advanced actions?

The automatic cursor placement in the next answer box is necessary to avoid having to click each box before being able to answer the question in a speed drill like this.

Thanks for any input you can give. It is very important to our lesson goals.

Rob Bjerk

Hi Lieve, Your blog has been very helpful for me in using new functions in Captivate. I am trying to do this exact thing for scoring a likert-style quiz, but I'm getting a NaN error/issue when it comes time to score. I think I followed your actions to a T, but I'd like to clarify some things. When I do this: (On Enter Question slide (for each): Simple action Assign v_multi with .... (weight factor, number)), should I be it in as 10, 1-5 or (10, 1-5) or 10, 1,2,3,4,5? I think part of my problem is there. Second, to put it with the submit button, is that under the "Quiz Properties" tab, "On Success"? Third, on the score slide, should I use a text caption with the variable $$v_percTeach$$ or not? Sorry for all of the questions, but I'm desperate to get this to work.
With assign you can only assign one number per slide as weight factor. Yes for the Submit button, location of the event. You have to insert the user variable v_percTeach on the score slide, don't type it but choose the variable using the X-button in the Format accordion for the text container (can be shape as well as a caption).
Previous comment was from me, Lieve. Posthaven, although I'm logged in, doesn't recognize me anymore as the author. Have to move my blog again, service from this paid host is too bad.
Thank you for the response. How would I add that last detail? I should have added that I'm using 5.5, where is the X-button located? I'm sorry for being a pain, I have very minimal use with Captivate.
I actually figured that out, but I'm getting a NaN response. I'm not sure what I'm doing wrong.
Come to the Captivate forum, where you can post screenshots of your advanced actions.
Thanks, I have done so.
I have a similar question as Steph: (On Enter Question slide (for each): Simple action Assign v_multi with .... (weight factor, number)), should I be it in as 10, 1-5 or (10, 1-5) or 10, 1,2,3,4,5? I don't know what number should be assigned, and the answer (With assign you can only assign one number per slide as weight factor.) needs more clarification. I've followed directions as much as I can, but it's not working. The Results slide does not show anything for percentage. If it's possible to show more screen captures, that would be helpful.
Maybe, Jay, but everything on this site is free. I spend already too much time to get such a tutorial online. I reread everything and to me it is perfectly clear. v_multi is getting its value by a simple action On Enter Slide.
Lilybiri, I greatly appreciate your willingness to share your knowledge, and I understand that your time is limited. I went through the instructions again, and am still not able to make it work. I will post my question on the Captivate forum.
How can I do this but without the weights? I want the score to add up the answer choices selected but do not want to include any weights to the questions.
Hello, thanks for that tutorial. I'm new with captivate (9), and I don't see how you link TeacherCalc to submit buttons? There is no Action tab in the submit button properties... So I tried to run TeacherCalc On Enter or On Exit of each slide, and once again Captivate does not allow me to link any advanced action... Any idea?
what is happening here?
Hi Lilybiri, Thank you for this information. I am trying to apply these instructions for a similar survey however instead of a percentage, I am looking for a score. Scenario: I want the user to use selecting a rating 1-5. There are 5 questions. I want the results slide to show a raw score not a percentage. And the maximum score should be 25 in this case. I tried adjusting the advanced action ScoreCalc to reflect addition instead of multiplication for an average instead of a percentage but that did not seem to work. Is there a quick adjustment to this that I am missing?
You will not need the weight factors in that case, nor the multiplication. Just the variables as they are.
I'm trying to do this but I can't figure it out.
I'm trying to figure this out but can't do it.
@Jon Sorry that you cannot figure out the workflow described in this rather old post. Maybe you should ask questions on the Adobe forums to explain your problems. All my posts are for free, helped a lot of users (total of over 1,500,000 page views at this moment).
Do you have a template or can I view the video on YouTube? I cannot view. Flash is disabled.
You can still use a browser with Flash player plugin. Moreover you seem to be new to eLearning. YouTube only has PASSIVE video, I only create INTERACTIVE tutorials. It is always possible to hire me as consultant. All blog posts are free, this one is 7 years old. It would be a full employment job, if I had to convert all blog posts with embedded SWF tutorials to HTML5 output.
My apologies for requesting. Thank you for the information.
1 visitor upvoted this post.