Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
Hello,
My institution is trying to identify students who have not accessed their online courses through Canvas in the first two weeks of class.
Looking at the data tables on the DAP ERD it seems like canvas.asset_user_accesses likely has the data I need, however when I query the canvas namespace I'm not finding that particular table. Does anyone have any insight? Are there other ways folks are using to identify students who have not accessed their courses?
I'm new canvas api so I'd appreciate even simple advice 🙂
Thanks
@gwwitte I don't think that table is exposed in CD2. You could try "last_activity_at" from the canvas.enrollments table to see if that is what you need.
The last_activity_at field in the enrollments table is only useful if the query is run on the 14th day after the class starts. If the query is run a month later, this field becomes less helpful because it only stores the last access date for a student in a course.
For example, if a class starts on September 1st and the query is run on October 1st:
Since last_activity_at only keeps the most recent access date, both students would have the same last_activity_at value of September 17th, making it difficult to determine when each student first accessed the course.
I’ve created a query that retrieves course ID, user ID, and the number of sessions (logins) for students within a specific time range. This helps track student engagement at the course, term, or subaccount level.
This query helps identify students who actively logged in during a specific period and those who never accessed the course in that timeframe.
Let me know if you have any suggestions or if you need adjustments for specific use cases!
select distinct
c.sis_source_id,
p.sis_user_id ,
( select count(distinct session_id)
from web_logs wl
where wl.user_id=e.user_id and wl.course_id=e.course_id
and wl.timestamp between '2024-09-01' and '2024-09-15' ) as Access_Times
FROM enrollments e
inner join courses c on c.id=e.course_id
inner join pseudonyms p on p.user_id=e.user_id
WHERE c.sis_source_id = 'AAAA_202425' -- This filter can be replaced by a specific account or a specific term
and e.type = 'StudentEnrollment'
To participate in the Instructure Community, you need to sign up or log in:
Sign In