From 314143b9bb8cca2380e2f46fdc35dd2be2f1ed84 Mon Sep 17 00:00:00 2001 From: Cristhian Garcia Date: Mon, 27 May 2024 12:36:24 -0500 Subject: [PATCH] feat: move page engagement to an mv --- .../datasets/fact_pageview_engagement.yaml | 2 +- .../queries/fact_page_engagement.sql | 52 +++++++++++++++++++ .../queries/fact_page_views.sql | 4 -- 3 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 tutoraspects/templates/openedx-assets/queries/fact_page_engagement.sql delete mode 100644 tutoraspects/templates/openedx-assets/queries/fact_page_views.sql diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_pageview_engagement.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_pageview_engagement.yaml index 243489f55..2183ea7af 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_pageview_engagement.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_pageview_engagement.yaml @@ -191,7 +191,7 @@ offset: 0 params: null schema: '{{ DBT_PROFILE_TARGET_DATABASE }}' sql: |- - {% filter indent(width=2) %}{% include 'openedx-assets/queries/fact_page_views.sql' %}{% endfilter %} + {% filter indent(width=2) %}{% include 'openedx-assets/queries/fact_page_engagement.sql' %}{% endfilter %} table_name: fact_pageview_engagement template_params: {} uuid: 9febd6be-5102-4dbf-86b9-45ebd3cbbc45 diff --git a/tutoraspects/templates/openedx-assets/queries/fact_page_engagement.sql b/tutoraspects/templates/openedx-assets/queries/fact_page_engagement.sql new file mode 100644 index 000000000..d25342040 --- /dev/null +++ b/tutoraspects/templates/openedx-assets/queries/fact_page_engagement.sql @@ -0,0 +1,52 @@ +with + subsection_engagement as ( + select + org, + course_key, + 'subsection' as content_level, + actor_id, + subsection_block_id as block_id, + engagement_level as section_subsection_page_engagement + from {{ ASPECTS_XAPI_DATABASE }}.subsection_page_engagement + where 1=1 + {% include 'openedx-assets/queries/common_filters.sql' %} + ), + section_engagement as ( + select + org, + course_key, + 'section' as content_level, + actor_id, + section_block_id as block_id, + engagement_level as section_subsection_page_engagement + from {{ ASPECTS_XAPI_DATABASE }}.section_page_engagement + ), + page_engagement as ( + select * + from subsection_engagement + union all + select * + from section_engagement + ) + +select + pv.org as org, + pv.course_key as course_key, + course_blocks.course_run as course_run, + course_blocks.display_name_with_location as section_subsection_name, + pv.content_level as content_level, + pv.actor_id as actor_id, + pv.section_subsection_page_engagement as section_subsection_page_engagement, + users.username as username, + users.name as name, + users.email as email +from page_engagement pv +join + {{ DBT_PROFILE_TARGET_DATABASE }}.dim_course_blocks course_blocks + on ( + pv.org = course_blocks.org + and pv.course_key = course_blocks.course_key + and pv.block_id = course_blocks.block_id + ) +left outer join + {{ DBT_PROFILE_TARGET_DATABASE }}.dim_user_pii users on toUUID(pv.actor_id) = users.external_user_id diff --git a/tutoraspects/templates/openedx-assets/queries/fact_page_views.sql b/tutoraspects/templates/openedx-assets/queries/fact_page_views.sql deleted file mode 100644 index 6d7c9397d..000000000 --- a/tutoraspects/templates/openedx-assets/queries/fact_page_views.sql +++ /dev/null @@ -1,4 +0,0 @@ -select * -from {{ DBT_PROFILE_TARGET_DATABASE }}.fact_pageview_engagement -where 1=1 -{% include 'openedx-assets/queries/common_filters.sql' %}