Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
Hello,
Does anyone know where I can locate a data point (or report) for "last date of attendance" as reflected by last submission (assignment, discussion, assessment, quiz) to Canvas, per student, per course enrollment?
For context, I'm looking for these data points to be able to pull them into a macro-enabled excel sheet for daily tracking of students and participation--which will give us triggers in our daily trackers/dashboard of how many days it's been since each student's last participation/submission to Canvas. But before I can do much of any of that, I need to first figure out where to find this data and I'm having trouble finding exactly what I'm looking for and obtaining the data source. We've done this at a previous institution so I know it can be done, but I'm not sure what specific report to begin with.
Any help or guidance is appreciated. Thanks!
Best,
Kristina
Hi @KristinaB,
I don't believe there is really a single source to pull this info from. In the UI, teachers/admins can use the New Analytics attendance tab to get this information (depending how attendance is configured for your Canvas instance), but I don't believe there's an API to pull that out into excel. There is the student access report that does list now many times the student participated, but the only date is the the last viewed, which may not be when they participated, so that report is ruled out.
With the API, you can make a series of calls to list quizzes, discussions, and assignments then see if the student has any submissions from those and if so when the submission was made. You'd use the most recent date found there. It's a lot of API calls, especially for courses with a lot of assignments and discussions, so be prepared to wait a minute or two for all of the API calls to complete.
As an alternative, I'm sure you could do some lookups in Canvas Data as well, which might be faster than going the API route. Unfortunately, I'm not a Canvas Data expert at all, so I can't really give any guidance, but wanted to mention it as a possibility.
I hope this helps a bit. If someone else happens to know a better way to do this, I'm sure they will chime in here too!
-Chris
Hi there! In addition to Chris' recommendations, I would suggest checking out a previous discussion about showing student last participation where @jerry_nguyen provided information on how to get that information through the Canvas API. Maybe Jerry has some new advice nowadays as well!
To get those data using Canvas API, you would need to make several different calls per student (E.g. submissions, and conversations). In order to get data for every student in your Canvas, you will need to input a list to your students to your macro to pull the data.
If you don't need up to a minute data, you can use Canvas Data (Canvas Data 1 has a latency of 24-48 hours, and the new Canvas Data 2 is 4 hours). Canvas Data is a preferable method to pull site-wide data, you can easily pull those data with one query. I can help you with the necessary SQL.
Hi, @KristinaB -- Our third party solution (Dropout Detective for higher ed or Grade Guardian for K-12) provides schools with a daily CSV file that includes "Latest Submission" for each course of each student. We provide a lot more than that but it certainly should give you what you need. If you'd like to reach out to me here, I can send you a sample CSV file. You can also visit our partner page for more info and a brief video demo.
https://community.canvaslms.com/t5/Partner-Listings/Partner-Listing-AspirEDU-Inc/ta-p/428557
To participate in the Instructure Community, you need to sign up or log in:
Sign In