add problem data to instructor reporting#2318
Conversation
for more information, see https://pre-commit.ci
There was a problem hiding this comment.
Pull request overview
Adds a new dbt reporting model to support instructor-facing reporting by exposing learner-level problem attempt data joined to course/run, course structure (section/subsection), and organization metadata.
Changes:
- Introduces
instructor_module_problems_reportSQL model that joins enrollments, users, problems, problem events, and course content hierarchy. - Documents the new model/columns in
src/ol_dbt/models/reporting/_reporting__models.yml.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 9 comments.
| File | Description |
|---|---|
| src/ol_dbt/models/reporting/instructor_module_problems_report.sql | New reporting query for learner problem attempts enriched with course structure and org/course metadata. |
| src/ol_dbt/models/reporting/_reporting__models.yml | Adds model + column documentation for the new reporting table. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
rachellougee
left a comment
There was a problem hiding this comment.
dbt runs fine, I left two comments, both are worth addressing before merging
| description: integer, row number indicating the latest row for each user based | ||
| on application and course run dates | ||
|
|
||
| - name: instructor_module_problems_report |
There was a problem hiding this comment.
Can we add some tests in this new model? At minimum: not_null on user_email, courserun_readable_id, and problem_name. A unique combined key to prevent fan-out.
| on | ||
| course_run.courserun_readable_id = problem.courserun_readable_id | ||
| and course_run.platform = problem.platform | ||
| left join problem_events |
There was a problem hiding this comment.
This left join produced a lot of empty rows where attempt, success, and grade are all null have no actionable value
There was a problem hiding this comment.
they want to see when learners don't complete problems- however I agree it's too many records I'm checking with the requestor- waiting for a reply
What are the relevant tickets?
https://github.com/mitodl/hq/issues/11464
Description (What does it do?)
add problem data to new instructor reporting table
How can this be tested?
dbt build --select instructor_module_problems_report