Canvas and Mastery are experiencing issues due to an ongoing AWS incident. Follow the status at AWS Health Dashboard and Instructure Status Page
Dear All,
Can the data in New Analytics grade distribution charts be downloaded to CSV? My understanding is that it cannot, but as this seems such obvious functionality to make available, I wanted to double-check if I am missing something. Below is an example of the chart I am referring to.
Many thnaks,
jb
Solved! Go to Solution.
There is a download CSV option from the initial page, but it is not going to give you what you want. It gives you a summary by student.
None of the Reports will help you either.
While you cannot download the grade breakdown on assignments from within New Analytics, you can download the underlying data that was used to create it and then create your own CSV file.
Canvas uses a GraphQL query to obtain that information, but it pulls it from a different host than your normal Canvas instance. It is not live / current, but compiled once a day from the main Canvas instance.
The information there isn't sent the way it looks. It gets certain information about the submissions and then does the calculations on the page. That is, you don't get the average grade is 60.9%, but that is computed from all of the scores on the submissions.
What is requested for each submission is the assignmentId, assignmentName, late, missing, studentId, and submission percentage.
All of that information except for the submission percentage is available from your production instance of Canvas (so it's live) through the API. Using the GraphQL API is going to be faster than trying to get all of the submissions through the Submissions API.
For the chart that you're looking at, you would not (necessarily) need the assignmentID or student ID. You would need the pointsPossible for the assignment so that you could calculate the percentage.
You would need to go through and count how many times missing was true and how many times late was true to get those counts.
You would need to average the scores together to get the class average and divide the score by the pointsPossible to get the percentage. There will be no binning for the histogram, either. Just the raw data.
To see the kind of data you would get, you can go to your Canvas dashboard in a browser and add /graphiql to the end to bring up an interactive graphQL instance. Then paste this, but change the ID on the assignment to be one of your assignments Then hit the Execute Query button.
query assignmentStatistics {
assignment(id: "123456") {
_id
name
pointsPossible
submissionsConnection {
nodes {
missing
late
score
}
}
}
}
This can be automated with scripts.
None of this will be as a chart, though, but you asked about a CSV of the data. Another way to get the CSV of the data (without any programming) is to use the Grade Export functionality. It will not give you the late and missing counts, though. The scores would need divided by the possible points to get the percentages that are given in the New Analytics.
Wow, thanks for such a thorough and helpful answer - much appreciated 🙂
Does seem strange though that this type of data is not more easily available to teachers......
Best Wishes,
jb
There is a download CSV option from the initial page, but it is not going to give you what you want. It gives you a summary by student.
None of the Reports will help you either.
While you cannot download the grade breakdown on assignments from within New Analytics, you can download the underlying data that was used to create it and then create your own CSV file.
Canvas uses a GraphQL query to obtain that information, but it pulls it from a different host than your normal Canvas instance. It is not live / current, but compiled once a day from the main Canvas instance.
The information there isn't sent the way it looks. It gets certain information about the submissions and then does the calculations on the page. That is, you don't get the average grade is 60.9%, but that is computed from all of the scores on the submissions.
What is requested for each submission is the assignmentId, assignmentName, late, missing, studentId, and submission percentage.
All of that information except for the submission percentage is available from your production instance of Canvas (so it's live) through the API. Using the GraphQL API is going to be faster than trying to get all of the submissions through the Submissions API.
For the chart that you're looking at, you would not (necessarily) need the assignmentID or student ID. You would need the pointsPossible for the assignment so that you could calculate the percentage.
You would need to go through and count how many times missing was true and how many times late was true to get those counts.
You would need to average the scores together to get the class average and divide the score by the pointsPossible to get the percentage. There will be no binning for the histogram, either. Just the raw data.
To see the kind of data you would get, you can go to your Canvas dashboard in a browser and add /graphiql to the end to bring up an interactive graphQL instance. Then paste this, but change the ID on the assignment to be one of your assignments Then hit the Execute Query button.
query assignmentStatistics {
assignment(id: "123456") {
_id
name
pointsPossible
submissionsConnection {
nodes {
missing
late
score
}
}
}
}
This can be automated with scripts.
None of this will be as a chart, though, but you asked about a CSV of the data. Another way to get the CSV of the data (without any programming) is to use the Grade Export functionality. It will not give you the late and missing counts, though. The scores would need divided by the possible points to get the percentages that are given in the New Analytics.
Wow, thanks for such a thorough and helpful answer - much appreciated 🙂
Does seem strange though that this type of data is not more easily available to teachers......
Best Wishes,
jb
I have also missed this histogram when I moved from classic quizzes to new quizzes. I used to always show this chart to my students after an exam (sometimes immediately) and it gave them maximum information as to how well they did. You can look at the box-whisker plot in the course analytics window and it gives you summary information about the quiz but this doesn't resonate with the students. You now have to hunt in the box-whisker plot to find the exam you just administered and make sure that you don't scroll down so that the class sees individual student grades.
So the only real option is to export the grades to a csv file (excel), then use the excel data analytics toolpak to create a histogram where you control the bin ranges. This takes some extra effort and, as a result, I don't often do it. Or since I teach undergraduate statistics, I could use some other tool like R Studio, SPSS, SAS to do this. This is one instance where new quizzes causes extra work over classic quizzes.
To interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.