Hi zugunruhes,
thanks for pointing this out. The first URL was used for the announcement and pre-registration. Can I ask where you found that page? The only way I can think of is if you Googled it?
As for your question; yes you will be able to do that, but first, a more in-depth explanation is needed.
Two different datasets are saved by the addon. A quick and light version, and a full/expanded version.
The quick and light version contains the basic information.
- Quiz name
- Result (pass/fail)
- Score
- Quiz taker’s name and email (if provided)
- Date and time of completion
- BONUS: Extra fields if using HDForms
This data is saved separately for use in the table. This is so that the table can load super-fast without needing to parse data for each and every single question (or any other form data) and works perfectly for an at-a-glance look at recent results. This table can just be copy/pasted directly into excel or google sheets.
The full/expanded version contains basically everything
- Same info as above
- All custom form data (if using HDForms)
- Quiz timer (how long the user took to complete the quiz)
- Each and every question
- Question title
- Result (correct/incorrect)
- What the selected answer was
- What the correct answer is
It’s this part where an “export” becomes stupidy complex because each “result” needs to contain A) quiz data (name, score etc), form data (if you request custom information from the quiz taker), and then question data (individual question results). The challenge is this: how do I format a CSV to contain all of that information while not becoming a jumbled mess?
If I were to just export it all as a giant CSV with each result as its own row (which I might end up doing as well), then the number of columns could become insanely long – some users have thousands of questions in a single quiz. Plus for cases like yours where you want to know how many users chose a specific answer – you better not be using the randomized question or answer order feature or else the CSV will have them in random orders as well.
So what is the solution?
In the most recent version, I have a hidden shortcode (hidden because this idea is still being tested/proved out) that will output the full results data as a JSON formatted string.
here is an example of what output would look like:
[
{
"results": {
"quizId": 7,
"score": "0 / 2",
"result": "fail",
"percent": 0,
"quiz": "The Quick Quiz",
"user": { "id": 1, "name": "asdsadd", "email": "[email protected]" },
"date": { "date": "2021-01-25", "time": ["01:26:55 pm", 1611599215], "completion": "00:00:00" },
"id": 4626
},
"answers": [
{ "title": "#1. First Question", "result": "false", "correct": ["A"] },
{ "title": "#2. Second Question", "result": "false", "correct": ["True"] }
],
"form": { "name_label": { "label": "H", "value": "asdsadd" }, "email_label": { "label": "Y", "value": "[email protected]" } }
},
{
"results": {
"quizId": 7,
"score": "0 / 2",
"result": "fail",
"percent": 0,
"quiz": "The Quick Quiz",
"user": { "id": 1, "name": "asss", "email": "[email protected]" },
"date": { "date": "2021-01-25", "time": ["01:27:56 pm", 1611599276], "completion": "00:00:00" },
"id": 4627
},
"answers": [
{ "title": "#1. First Question", "result": "false", "correct": ["A"] },
{ "title": "#2. Second Question", "result": "false", "correct": ["True"] }
],
"form": { "name_label": { "label": "H", "value": "asss" }, "email_label": { "label": "Y", "value": "[email protected]" } }
}
]
Now, this is obviously not something you could just import into excel, but the advantage of this is that the data is “raw” and “parsable”. With this data, you could use something like jsonparser.org or even write your own algorithm to parse the data however you like. This way the data works more as a relational database than just a CSV file and you can actually perform lookups and queries on it! If it comes down to it, I could probably just code in the algo for you as it should be fairly easy to do.
Thanks for reading this overly long explanation ??