The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December. Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
I need to find data from a course on the number of new enrollments in the course within a certain timeframe. Is there a report I can run that will give me that information?
Thanks!
Greetings,
I'm not certain there is a way to do this with an existing report.
You may want to use Canvas Data 2.
My institution has a specific set of Canvas Data 2 data pulled into a local Postgres database at our school. This way I can connect to the database to make queries with SQL.
To find enrollments in a specific course when the information is in a database, the SQL query would be similar to this:
SELECT *
from
canvas.enrollments e
where
e.course_id = 123456 /*courseid you are interested in*/
and e.created_at >= '1/1/2024'
and e.created_at <= '5/1/2024'
The created_at field in the enrollment table is the date the enrollment was created, which is what you are after. The enrollments table does not include a sis user id, user name or email, you will have to join to canvas.pseudonyms to on enrollments.user_id to get this information.
Enrollments could also be filtered to exclude teachers, TAs, designers etc if you only want students.
If you don't have a dev team to pull the data into a database, you can query Canvas Data 2 with API, there is a Python wrapper to make it easier.
I wrote something similar last year, excluding preview students:
SELECT date(ed.created_at) as EnrollDate, count(date(ed.created_at)) as Enrollments
FROM canvas.enrollments ed
JOIN canvas.courses cd on cd.id = ed.course_id
JOIN canvas.enrollment_terms etd on etd.id = cd.enrollment_term_id
JOIN canvas.accounts ad on ad.id = cd.account_id
JOIN canvas.users ud on ud.id = ed.user_id
JOIN canvas.pseudonyms pd on pd.user_id = ud.id
WHERE etd.sis_source_id = '120225' --update term ID here
AND (ed.workflow_state = 'active' OR ed.workflow_state = 'invited')
AND ed.type != 'StudentViewEnrollment'
AND ud.name NOT LIKE 'Test Student'
GROUP BY date(ed.created_at)
ORDER BY date(ed.created_at) desc
Community helpTo 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