-
Notifications
You must be signed in to change notification settings - Fork 6
add problem data to instructor reporting #2318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
3e7074e
615a0cc
782dcc5
824a726
bf2ec1a
097012e
dbcef01
9849c6f
419479a
80b2960
a86ddb5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,88 @@ | ||
| with enrollment as ( | ||
| select * from {{ ref('tfact_enrollment') }} | ||
| ) | ||
|
|
||
| , user as ( | ||
| select * from {{ ref('dim_user') }} | ||
| ) | ||
|
|
||
| , course_run as ( | ||
| select * from {{ ref('dim_course_run') }} | ||
| where is_current = true | ||
| ) | ||
|
Copilot marked this conversation as resolved.
|
||
|
|
||
| , problem as ( | ||
| select * from {{ ref('dim_problem') }} | ||
| ) | ||
|
|
||
| , problem_events as ( | ||
| select * from {{ ref('tfact_problem_events') }} | ||
| ) | ||
|
|
||
| , course_content as ( | ||
| select * from {{ ref('dim_course_content') }} | ||
| ) | ||
|
|
||
| , course as ( | ||
| select * from {{ ref('dim_course') }} | ||
| where is_current = true | ||
| ) | ||
|
Copilot marked this conversation as resolved.
|
||
|
|
||
| , organization_courserun as ( | ||
| select * from {{ ref('bridge_organization_courserun') }} | ||
| ) | ||
|
|
||
| , organization as ( | ||
| select * from {{ ref('dim_organization') }} | ||
| ) | ||
|
|
||
| select | ||
| user.email as user_email | ||
| , user.full_name | ||
| , course_run.courserun_readable_id | ||
| , section.block_title as section_title | ||
| , subsection.block_title as subsection_title | ||
| , problem.problem_name | ||
| , problem_events.attempt | ||
| , problem_events.success | ||
| , problem_events.grade | ||
| , enrollment.platform | ||
| , course.course_title | ||
| , organization.organization_name | ||
| from enrollment | ||
| inner join user | ||
| on enrollment.user_fk = user.user_pk | ||
| inner join course_run | ||
| on enrollment.courserun_fk = course_run.courserun_pk | ||
| inner join problem | ||
| on | ||
| course_run.courserun_readable_id = problem.courserun_readable_id | ||
| and course_run.platform = problem.platform | ||
| left join problem_events | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This left join produced a lot of empty rows where attempt, success, and grade are all null have no actionable value
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 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 |
||
| on | ||
| problem.problem_block_pk = problem_events.problem_block_fk | ||
| and problem.platform = problem_events.platform | ||
| and problem.courserun_readable_id = problem_events.courserun_readable_id | ||
| and user.user_pk = problem_events.user_fk | ||
|
Copilot marked this conversation as resolved.
|
||
| left join course_content as content | ||
| on | ||
| problem.content_block_fk = content.content_block_pk | ||
| and content.is_latest = true | ||
| left join course_content as section | ||
| on | ||
| content.chapter_block_id = section.block_id | ||
| and content.platform = section.platform | ||
| and content.courserun_readable_id = section.courserun_readable_id | ||
| and section.is_latest = true | ||
|
Copilot marked this conversation as resolved.
|
||
| left join course_content as subsection | ||
| on | ||
| content.sequential_block_id = subsection.block_id | ||
| and content.platform = subsection.platform | ||
| and content.courserun_readable_id = subsection.courserun_readable_id | ||
| and subsection.is_latest = true | ||
|
Copilot marked this conversation as resolved.
|
||
| left join course | ||
| on course_run.course_fk = course.course_pk | ||
| left join organization_courserun | ||
| on course_run.courserun_pk = organization_courserun.courserun_fk | ||
| left join organization | ||
| on organization_courserun.organization_fk = organization.organization_pk | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.