Has anyone had any success with pulling grades/assignments from multiple courses through Canvas Data Portal?
I'm going to tag the Canvas Developers and Data and Analytics groups in case they have any suggestions.
How are you accessing the data from Canvas Data?
Have you loaded into SQL, Excel, or Tableau?
We are using Qlik to access the Data Portal Information.
I haven't used Qlik. I'm not sure if there is a SQL feature of if you have to drag-n-drop joins together like Tableau.
Here's an example query that shows some relationships with SQL JOINs, includes several tables to get you the fields you requested below. It also shows if an assignment is part of an external tool. You could eliminate this if it's unnecessary and just rely on the assignment info and title. You'd also need submission_dim.grade and submission_dim.published_grade for your selection.
It also includes enrollment_dim, so you can filter assignment submissions with several options at different levels for comparison.
User login and user SIS info come from pseudonym_dim, but have to be joined from user_dim.id
user_dim.id is unique to Canvas Data, and you'll see it no where else in Canvas except in Canvas Data records that point to it, such as submission_dim.user_id. For the more common Canvas user id that you'd see in Canvas use user_dim.canvas_id
Thank you Robert for your help.
Happy to help. Please let us know if there are more detail or scenarios we can help with. I believe if you want to calculate overrides or evaluate submission and grading times other tables and models are required. There are also more samples and discussions for Canvas Data here, https://community.canvaslms.com/docs/DOC-17354-awesome-canvaslms#CanvasData
The information you want is definitely in there, but it's probably split among several files, so where to look depends on what you need.
When you say grades/assignments, do you want individual students' grades for particular assignments, or the assignment prompts, or the student's actual submissions, or...?
As Robert suggests, getting the data loaded into some sort of database and or data analysis tool is helpful (Personally I like PostgreSQL, which is what Canvas uses internally). Since the files are essentially just dumps of the database tables making sense of them requires a way to relate them to each other; many columns are primary keys to other files.
To start poking around, though, csvkit's `csvgrep`, `csvlook`, and `csvsql --query` tools can help you get a sense for what is in your files and which ones you need to answer the questions you want to ask. You'll probably want to start with submission_fact, submission_dim, and assignment_fact.
Thank you so much for your help. I am looking to export out of Canvas a student's name, ID, username, etc., and the grade for the assignment.
Retrieving data ...