I would like to download all of my student's test results at the end of each year. How can I do that?
I'm not completely sure what you mean by "test results." I can think of two ways, so I'll provide answers to both, but I still may not understand completely what you're after.
If you mean just the score that each student got on the exam, then you can do this through the Gradebook and the export grades option. It will generate a CSV file that can be opened with Microsoft Excel or other software. It will include other grades besides the exams, but all of the exam scores will be there.
Here are a couple of pages in the Canvas Instructor Guide that explain how to do this.
If you mean the actual student responses to the individual questions on the exams, then there is no single place to download this for all exams at once. The closest you can get through the web interface is the Student Analysis report from the Quiz Statistics page. It also generates a CSV file with one entry for each attempt for each student, but for only one quiz at a time.
There are other routes available if you want to go outside the web interface to the API. This requires programming and is a huge jump in difficulty level.
I am fine downloading the grades via export, but I need the date as well. Can that be included in the export?
Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
The dates are not included in the export and most likely never will be in that particular report. It's mainly for the grades and few people want their gradebook to double the number of columns to include an extra column for the each assignment for the dates it was submitted. It would also make it nearly impossible to do any calculations involving sums since the dates would be in the way. The dates could go at the end, but it would again be unused by most people.
If you want the dates, that information is available in the student analysis report in the quiz statistics. The student analysis includes the name, ID, section, submitted_at, attempt, and then results for each of the questions. If you scroll past all the questions, it has the score. If you downloaded that for each of the exams, you would have the date and the score for each student, but you would likely need to merge the results together into a single file (possibly not, depending on what you're trying to do with them).
Another place to get the results is through the API. That depends on your programming skills or whether you have a programmer available to you. There's an API call that will return information about each submission and it contains the date of the submission and the score on the submission. A submission entry exists for each combination of student and assignment. If your classes were under 100 students, you could make the API call from the browser, copy the output and paste it into a program that converts JSON to CSV and get the output. I don't recommend the API route for non-programmers as it's probably easier to get the student analysis report and work with it that way. However, if you had a lot of classes or a lot of students or a lot of exams, the API route might be easier. It's also sustainable, so if this is something you do every semester, the time developing it would pay off in the long run.
If your organization is using Canvas Data, then the person in charge of that might be able to pull the data for you from there. It's got a delay of up to 36 hours, but if you're wanting to do it at the end of the year, that might not be an issue. This would involve some SQL statements, but it's very fast once it's written -- as opposed to manually doing it.
Retrieving data ...