[ARCHIVED] Can I download grade distribution data from New Analytics?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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.