From 0466fdb34d117a05d5fee53f09d1a87e607acf46 Mon Sep 17 00:00:00 2001 From: Sara Burns Date: Wed, 4 Sep 2024 14:43:12 -0400 Subject: [PATCH 1/5] feat: new course comparison dashboard --- tutoraspects/plugin.py | 9 +- .../assets/charts/Course_Info_a433e3.yaml | 52 ++ .../assets/charts/Course_Info_e0098c.yaml | 52 ++ .../charts/Enrollment_Counts_2f2af8.yaml | 103 +++ .../charts/Enrollment_Counts_bd37be.yaml | 39 ++ .../charts/Learner_Performance_4e48b8.yaml | 50 ++ .../Learner_Performance_Breakdown_4250c9.yaml | 72 ++ .../Learner_Performance_Breakdown_9c3f72.yaml | 77 +++ .../charts/Learner_Performance_dde44a.yaml | 60 ++ .../charts/Video_Engagement_5b00f7.yaml | 107 +++ .../Course_Comparison_Dashboard.yaml | 621 ++++++++++++++++++ .../assets/datasets/course_information.yaml | 154 +++++ .../assets/datasets/learner_performance.yaml | 191 ++++++ .../learner_performance_breakdown.yaml | 143 ++++ .../assets/datasets/tag_filter.yaml | 76 +++ .../datasets/watched_video_duration.yaml | 180 +++++ .../openedx-assets/queries/common_filters.sql | 12 + .../queries/course_information.sql | 27 + .../queries/learner_performance.sql | 14 + .../queries/learner_performance_breakdown.sql | 21 + .../queries/tag_filter_dataset.sql | 12 + .../queries/watched_video_duration.sql | 14 + 22 files changed, 2085 insertions(+), 1 deletion(-) create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_a433e3.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_e0098c.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_2f2af8.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_bd37be.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_4e48b8.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_4250c9.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_9c3f72.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_dde44a.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_5b00f7.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/course_information.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/learner_performance.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/learner_performance_breakdown.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/tag_filter.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/watched_video_duration.yaml create mode 100644 tutoraspects/templates/openedx-assets/queries/course_information.sql create mode 100644 tutoraspects/templates/openedx-assets/queries/learner_performance.sql create mode 100644 tutoraspects/templates/openedx-assets/queries/learner_performance_breakdown.sql create mode 100644 tutoraspects/templates/openedx-assets/queries/tag_filter_dataset.sql create mode 100644 tutoraspects/templates/openedx-assets/queries/watched_video_duration.sql diff --git a/tutoraspects/plugin.py b/tutoraspects/plugin.py index d3668f492..f2d514173 100644 --- a/tutoraspects/plugin.py +++ b/tutoraspects/plugin.py @@ -129,6 +129,12 @@ "uuid": "abae8a25-1ba4-4653-81bd-d3937a162a11", "allow_translations": True, }, + { + "name": "Course Comparison Dashboard", + "slug": "course-comparison", + "uuid": "c6c7062d-dd90-4292-b9cf-84f7b9f38e73", + "allow_translations": True, + }, ], ), # The following settings are used to configure the Superset dashboards @@ -140,6 +146,7 @@ "course-dashboard": "c0e64194-33d1-4d5a-8c10-4f51530c5ee9", "learner-groups": "8661d20c-cee6-4245-9fcc-610daea5fd24", "individual-learner": "abae8a25-1ba4-4653-81bd-d3937a162a11", + "course-comparison": "c6c7062d-dd90-4292-b9cf-84f7b9f38e73", }, ), # ClickHouse xAPI settings @@ -376,7 +383,7 @@ # For now we are pulling this from github, which should allow maximum # flexibility for forking, running branches, specific versions, etc. ("DBT_REPOSITORY", "https://github.com/openedx/aspects-dbt"), - ("DBT_BRANCH", "v3.31.0"), + ("DBT_BRANCH", "v3.33.1"), ("DBT_SSH_KEY", ""), ("DBT_STATE_DIR", "/app/aspects-dbt/state"), ("DBT_PROFILES_DIR", "/app/aspects/dbt/"), diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_a433e3.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_a433e3.yaml new file mode 100644 index 000000000..e645a6de5 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_a433e3.yaml @@ -0,0 +1,52 @@ +_file_name: Course_Info_a433e3.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 +description: null +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + all_columns: [] + annotation_layers: [] + color_pn: false + column_config: + active_count: + columnWidth: 200 + course_name: + columnWidth: 300 + enrollees: + columnWidth: 150 + org: + columnWidth: 200 + tag_list: + truncateLongCells: true + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_name + - org + metrics: + - enrollees + - active_count + - tag_list + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table +query_context: null +slice_name: Course Info +uuid: a433e3cc-8ed5-454a-8b17-5dd75cfc84e4 +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_e0098c.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_e0098c.yaml new file mode 100644 index 000000000..1f46f9be6 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_e0098c.yaml @@ -0,0 +1,52 @@ +_file_name: Course_Info_e0098c.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 +description: null +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + all_columns: [] + annotation_layers: [] + color_pn: false + column_config: + Current Enrollees: + columnWidth: 150 + active_count: + columnWidth: 200 + course_name: + columnWidth: 200 + course_run: + columnWidth: 300 + tag_list: + truncateLongCells: true + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_run + - course_name + metrics: + - active_count + - tag_list + - enrollees + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table +query_context: null +slice_name: Course Info +uuid: e0098cfe-a312-4c49-8efd-7e74256b6ea4 +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_2f2af8.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_2f2af8.yaml new file mode 100644 index 000000000..c48319b50 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_2f2af8.yaml @@ -0,0 +1,103 @@ +_file_name: Enrollment_Counts_2f2af8.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 +description: null +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + aggregateFunction: Sum + annotation_layers: [] + colOrder: key_a_to_z + colSubTotals: false + conditional_formatting: [] + date_format: smart_date + extra_form_data: {} + groupbyColumns: + - enrollment_mode + groupbyRows: + - course_name + metrics: + - enrollees + metricsLayout: COLUMNS + order_desc: true + rowOrder: key_a_to_z + row_limit: 10000 + temporal_columns_lookup: {} + time_grain_sqla: P1D + valueFormat: SMART_NUMBER + viz_type: pivot_table_v2 +query_context: + datasource: + id: 221 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + aggregateFunction: Sum + annotation_layers: [] + colOrder: key_a_to_z + colSubTotals: false + conditional_formatting: [] + datasource: 221__table + date_format: smart_date + extra_form_data: {} + force: false + groupbyColumns: + - enrollment_mode + groupbyRows: + - course_name + metrics: + - enrollees + metricsLayout: COLUMNS + order_desc: true + result_format: json + result_type: full + rowOrder: key_a_to_z + row_limit: 10000 + slice_id: 161 + temporal_columns_lookup: {} + time_grain_sqla: P1D + valueFormat: SMART_NUMBER + viz_type: pivot_table_v2 + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - enrollment_mode + - course_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - enrollees + order_desc: true + orderby: + - - enrollees + - false + row_limit: 10000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Enrollment Counts +uuid: 2f2af8b0-94ae-4300-b71f-3bd7f9fc127c +version: 1.0.0 +viz_type: pivot_table_v2 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_bd37be.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_bd37be.yaml new file mode 100644 index 000000000..6f3f8d4d7 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_bd37be.yaml @@ -0,0 +1,39 @@ +_file_name: Enrollment_Counts_bd37be.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 +description: null +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + aggregateFunction: Sum + annotation_layers: [] + colOrder: key_a_to_z + colSubTotals: false + conditional_formatting: [] + date_format: smart_date + extra_form_data: {} + groupbyColumns: + - enrollment_mode + groupbyRows: + - course_run + metrics: + - enrollees + metricsLayout: COLUMNS + order_desc: false + rowOrder: key_a_to_z + row_limit: 50000 + temporal_columns_lookup: {} + time_grain_sqla: P1D + valueFormat: SMART_NUMBER + viz_type: pivot_table_v2 +query_context: null +slice_name: Enrollment Counts +uuid: bd37be7f-6672-4dca-80ae-a54f69d169da +version: 1.0.0 +viz_type: pivot_table_v2 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_4e48b8.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_4e48b8.yaml new file mode 100644 index 000000000..efc680d57 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_4e48b8.yaml @@ -0,0 +1,50 @@ +_file_name: Learner_Performance_4e48b8.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: ffc33796-bcd4-4e8b-a4e4-ab6517b72116 +description: |- +
+
Avg % Correct on 1st Attempt
+
The average percentage of correct answers on the first attempt
+
+params: + adhoc_filters: [] + all_columns: + - success + annotation_layers: [] + color_pn: true + column_config: + avg_course_grade: + d3NumberFormat: ',.1%' + first_try_correct: + d3NumberFormat: ',.1%' + showCellBars: false + med_course_grade: + d3NumberFormat: ',.1%' + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_name + - org + metrics: + - first_try_correct + - count_passing + - avg_course_grade + - med_course_grade + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table +query_context: null +slice_name: Learner Performance +uuid: 4e48b8f9-e757-4263-a9d7-d18018620a24 +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_4250c9.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_4250c9.yaml new file mode 100644 index 000000000..5cb56ae50 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_4250c9.yaml @@ -0,0 +1,72 @@ +_file_name: Learner_Performance_Breakdown_4250c9.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 1970f934-cffb-4c5a-8a13-69dab22755c7 +description: |- + Displays the top 10 highest enrollment courses. + Selecting different courses in the filter will display those courses. +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: enrolled_at + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + contributionMode: null + extra_form_data: {} + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: null + legendOrientation: bottom + legendType: scroll + logAxis: false + metrics: + - count + - passed + - active + - at_risk + minorSplitLine: false + minorTicks: false + only_total: true + order_desc: true + orientation: horizontal + rich_tooltip: false + row_limit: 10 + show_empty_columns: false + show_legend: true + show_value: false + sort_series_ascending: true + sort_series_type: name + stack: null + tooltipSortByMetric: false + tooltipTimeFormat: smart_date + truncateXAxis: false + truncateYAxis: false + truncate_metric: false + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: course_name + x_axis_sort_asc: true + x_axis_sort_series: sum + x_axis_sort_series_ascending: false + x_axis_time_format: smart_date + x_axis_title: '' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: '' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: false +query_context: null +slice_name: Learner Performance Breakdown +uuid: 4250c976-a9b7-43ff-b5ad-8dd00a5acef7 +version: 1.0.0 +viz_type: echarts_timeseries_bar diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_9c3f72.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_9c3f72.yaml new file mode 100644 index 000000000..103ec80a1 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_9c3f72.yaml @@ -0,0 +1,77 @@ +_file_name: Learner_Performance_Breakdown_9c3f72.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 1970f934-cffb-4c5a-8a13-69dab22755c7 +description: Displays the top 10 highest enrollment courses. Selecting different courses + in the filter will display those courses. +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_noj2mkjbumn_edkgbebkld8 + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: enrolled_at + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + contributionMode: null + extra_form_data: {} + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: 0 + legendOrientation: bottom + legendType: scroll + logAxis: false + metrics: + - passed + - count + - at_risk + - active + minorSplitLine: false + minorTicks: false + only_total: true + order_desc: true + orientation: horizontal + rich_tooltip: false + row_limit: 10 + show_empty_columns: false + show_legend: true + show_value: false + sort_series_ascending: true + sort_series_type: name + stack: null + timeseries_limit_metric: null + tooltipSortByMetric: false + tooltipTimeFormat: smart_date + truncateXAxis: false + truncateYAxis: false + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: course_run + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: smart_date + x_axis_title: '' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: '' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: false +query_context: null +slice_name: Learner Performance Breakdown +uuid: 9c3f7291-1bd9-4b2f-abc0-472aad3aff06 +version: 1.0.0 +viz_type: echarts_timeseries_bar diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_dde44a.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_dde44a.yaml new file mode 100644 index 000000000..82bfe19d3 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_dde44a.yaml @@ -0,0 +1,60 @@ +_file_name: Learner_Performance_dde44a.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: ffc33796-bcd4-4e8b-a4e4-ab6517b72116 +description: |- +
+
Avg % Correct on 1st Attempt
+
The average percentage of correct answers on the first attempt
+
+params: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_qqnzi3klvaa_mtbj67olly + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + all_columns: + - success + annotation_layers: [] + color_pn: true + column_config: + avg_course_grade: + d3NumberFormat: ',.1%' + first_try_correct: + d3NumberFormat: ',.1%' + showCellBars: false + med_course_grade: + d3NumberFormat: ',.1%' + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_run + - course_name + metrics: + - first_try_correct + - count_passing + - avg_course_grade + - med_course_grade + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table +query_context: null +slice_name: Learner Performance +uuid: dde44a03-649f-4d77-990b-a95be204e1ba +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_5b00f7.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_5b00f7.yaml new file mode 100644 index 000000000..877851d35 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_5b00f7.yaml @@ -0,0 +1,107 @@ +_file_name: Video_Engagement_5b00f7.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 82cb6b56-c713-4933-93a0-9de15c266c4b +description: null +params: + adhoc_filters: [] + all_columns: [] + color_pn: true + column_config: + rewatched_percent: + d3NumberFormat: ',.1%' + watched_percent: + d3NumberFormat: ',.1%' + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_name + - org + metrics: + - watched_percent + - rewatched_percent + - video_count + - avg_video_length + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + viz_type: table +query_context: + datasource: + id: 746 + type: table + force: false + form_data: + adhoc_filters: [] + all_columns: [] + color_pn: true + column_config: + rewatched_percent: + d3NumberFormat: ',.1%' + watched_percent: + d3NumberFormat: ',.1%' + conditional_formatting: [] + dashboards: + - 2641 + datasource: 746__table + extra_form_data: {} + force: false + groupby: + - course_name + - org + metrics: + - watched_percent + - rewatched_percent + - video_count + - avg_video_length + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + slice_id: 1361 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - course_name + - org + custom_form_data: {} + custom_params: {} + extras: + having: '' + where: '' + filters: [] + metrics: + - watched_percent + - rewatched_percent + - video_count + - avg_video_length + order_desc: true + orderby: + - - watched_percent + - false + post_processing: [] + row_limit: 50000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Video Engagement +uuid: 5b00f792-233c-4ee6-9411-7df49f4b5061 +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml new file mode 100644 index 000000000..be8f8537e --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml @@ -0,0 +1,621 @@ +_file_name: Course_Comparison_Dashboard.yaml +_roles: +- '{{ SUPERSET_ROLES_MAPPING.instructor }}' +certification_details: '' +certified_by: '' +css: '' +dashboard_title: Course Comparison Dashboard +description: null +metadata: + chart_configuration: + '1081': + crossFilters: + chartsInScope: + - 121 + - 161 + - 221 + - 421 + - 801 + - 1181 + - 1381 + - 1467 + scope: global + id: 1081 + '1181': + crossFilters: + chartsInScope: + - 121 + - 161 + - 221 + - 421 + - 801 + - 1081 + - 1381 + - 1467 + scope: global + id: 1181 + '121': + crossFilters: + chartsInScope: + - 161 + - 221 + - 421 + - 801 + - 1081 + - 1181 + - 1381 + - 1467 + scope: global + id: 121 + '1381': + crossFilters: + chartsInScope: + - 121 + - 161 + - 221 + - 421 + - 801 + - 1081 + - 1181 + - 1467 + scope: global + id: 1381 + '1467': + crossFilters: + chartsInScope: + - 121 + - 161 + - 221 + - 421 + - 801 + - 1081 + - 1181 + - 1381 + scope: global + id: 1467 + '161': + crossFilters: + chartsInScope: + - 121 + - 221 + - 421 + - 801 + - 1081 + - 1181 + - 1381 + - 1467 + scope: global + id: 161 + '221': + crossFilters: + chartsInScope: + - 121 + - 161 + - 421 + - 801 + - 1081 + - 1181 + - 1381 + - 1467 + scope: global + id: 221 + '421': + crossFilters: + chartsInScope: + - 121 + - 161 + - 221 + - 801 + - 1081 + - 1181 + - 1381 + - 1467 + scope: global + id: 421 + '801': + crossFilters: + chartsInScope: + - 121 + - 161 + - 221 + - 421 + - 1081 + - 1181 + - 1381 + - 1467 + scope: global + id: 801 + color_scheme: supersetColors + color_scheme_domain: + - '#1FA8C9' + - '#454E7C' + - '#5AC189' + - '#FF7F44' + - '#666666' + - '#E04355' + - '#FCC700' + - '#A868B7' + - '#3CCCCB' + - '#A38F79' + - '#8FD3E4' + - '#A1A6BD' + - '#ACE1C4' + - '#FEC0A1' + - '#B2B2B2' + - '#EFA1AA' + - '#FDE380' + - '#D3B3DA' + - '#9EE5E5' + - '#D1C6BC' + cross_filters_enabled: true + default_filters: '{}' + expanded_slices: + '121': true + '221': true + '421': true + '801': true + global_chart_configuration: + chartsInScope: + - 121 + - 161 + - 221 + - 421 + - 801 + - 1081 + - 1181 + - 1381 + - 1467 + scope: + excluded: [] + rootPath: + - ROOT_ID + label_colors: {} + native_filter_configuration: + - cascadeParentIds: [] + chartsInScope: + - 1273 + - 1274 + - 1275 + - 1276 + - 1277 + - 1278 + - 1279 + - 1292 + - 1294 + - 1295 + controlValues: + defaultToFirstItem: true + enableEmptyFilter: false + inverseSelection: false + multiSelect: true + searchAllOptions: false + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + description: '' + filterType: filter_select + id: NATIVE_FILTER-QrTlO4wBf + name: Organization + requiredFirst: true + scope: + excluded: [] + rootPath: + - ROOT_ID + tabsInScope: + - TAB-J31MdXj-sa + - TAB-GuHDMLqRC + targets: + - column: + name: org + datasetUuid: 38488934-35ee-5404-9acc-7e67626ddfae + type: NATIVE_FILTER + - cascadeParentIds: [] + chartsInScope: [] + controlValues: + defaultToFirstItem: false + enableEmptyFilter: false + inverseSelection: false + multiSelect: true + searchAllOptions: false + sortAscending: true + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + description: Only available in versions Redwood and later + filterType: filter_select + id: NATIVE_FILTER-M1zEXEB97 + name: Tag + scope: + excluded: [] + rootPath: + - ROOT_ID + sortMetric: order + tabsInScope: [] + targets: + - column: + name: tag + datasetUuid: 81457874-fd86-4568-a730-9179ab7a7fd5 + type: NATIVE_FILTER + - cascadeParentIds: + - NATIVE_FILTER-QrTlO4wBf + - NATIVE_FILTER-M1zEXEB97 + chartsInScope: + - 1266 + - 1273 + - 1274 + - 1275 + - 1276 + - 1277 + - 1278 + - 1279 + controlValues: + defaultToFirstItem: false + enableEmptyFilter: false + inverseSelection: false + multiSelect: true + searchAllOptions: false + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + description: '' + filterType: filter_select + id: NATIVE_FILTER-IfS-Rd0ZS + name: Course Name + scope: + excluded: [] + rootPath: + - ROOT_ID + tabsInScope: + - TAB-J31MdXj-sa + - TAB-GuHDMLqRC + targets: + - column: + name: course_name + datasetUuid: 38488934-35ee-5404-9acc-7e67626ddfae + type: NATIVE_FILTER + - cascadeParentIds: + - NATIVE_FILTER-M1zEXEB97 + - NATIVE_FILTER-QrTlO4wBf + chartsInScope: + - 1266 + - 1273 + - 1274 + - 1275 + - 1276 + - 1277 + - 1278 + - 1279 + controlValues: + defaultToFirstItem: false + enableEmptyFilter: false + inverseSelection: false + multiSelect: true + searchAllOptions: false + defaultDataMask: + extraFormData: {} + filterState: {} + ownState: {} + description: '' + filterType: filter_select + id: NATIVE_FILTER-w863AfFgi + name: Course Run + scope: + excluded: [] + rootPath: + - ROOT_ID + tabsInScope: + - TAB-J31MdXj-sa + - TAB-GuHDMLqRC + targets: + - column: + name: course_run + datasetUuid: 38488934-35ee-5404-9acc-7e67626ddfae + type: NATIVE_FILTER + refresh_frequency: 0 + shared_label_colors: + active: '#1FA8C9' + at_risk: '#5AC189' + count: '#FCC700' + passed: '#666666' + timed_refresh_immune_slices: [] +position: + CHART-explore-1273-1: + children: [] + id: CHART-explore-1273-1 + meta: + chartId: 1181 + height: 49 + sliceName: Course Info + uuid: a433e3cc-8ed5-454a-8b17-5dd75cfc84e4 + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + - ROW-otbcoXVOj + type: CHART + CHART-explore-1274-1: + children: [] + id: CHART-explore-1274-1 + meta: + chartId: 1381 + height: 49 + sliceName: Course Info + uuid: e0098cfe-a312-4c49-8efd-7e74256b6ea4 + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + - ROW-vepcifelF + type: CHART + CHART-explore-1275-1: + children: [] + id: CHART-explore-1275-1 + meta: + chartId: 421 + height: 67 + sliceName: Learner Performance Breakdown + uuid: 4250c976-a9b7-43ff-b5ad-8dd00a5acef7 + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + - ROW-EDze1WWiC + type: CHART + CHART-explore-1276-1: + children: [] + id: CHART-explore-1276-1 + meta: + chartId: 801 + height: 67 + sliceName: Learner Performance Breakdown + uuid: 9c3f7291-1bd9-4b2f-abc0-472aad3aff06 + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + - ROW-O1XuzgpIo + type: CHART + CHART-explore-1279-1: + children: [] + id: CHART-explore-1279-1 + meta: + chartId: 121 + height: 51 + sliceName: Learner Performance + uuid: 4e48b8f9-e757-4263-a9d7-d18018620a24 + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + - ROW-y57KZVzDt + type: CHART + CHART-explore-1292-1: + children: [] + id: CHART-explore-1292-1 + meta: + chartId: 221 + height: 51 + sliceName: Learner Performance + uuid: dde44a03-649f-4d77-990b-a95be204e1ba + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + - ROW--27JFXNWc + type: CHART + CHART-explore-1294-1: + children: [] + id: CHART-explore-1294-1 + meta: + chartId: 161 + height: 49 + sliceName: Enrollment Counts + uuid: 2f2af8b0-94ae-4300-b71f-3bd7f9fc127c + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + - ROW-FolfXlYAh + type: CHART + CHART-explore-1295-1: + children: [] + id: CHART-explore-1295-1 + meta: + chartId: 1081 + height: 49 + sliceName: Enrollment Counts + uuid: bd37be7f-6672-4dca-80ae-a54f69d169da + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + - ROW-17CIe_GHN + type: CHART + CHART-explore-1467-1: + children: [] + id: CHART-explore-1467-1 + meta: + chartId: 1467 + height: 50 + sliceName: Video Engagement + uuid: 5b00f792-233c-4ee6-9411-7df49f4b5061 + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + - ROW-dAYfW3JOym + type: CHART + DASHBOARD_VERSION_KEY: v2 + GRID_ID: + children: [] + id: GRID_ID + parents: + - ROOT_ID + type: GRID + HEADER_ID: + id: HEADER_ID + meta: + text: Course Comparison Dashboard + type: HEADER + ROOT_ID: + children: + - TABS-6vozRyRn2o + id: ROOT_ID + type: ROOT + ROW--27JFXNWc: + children: + - CHART-explore-1292-1 + id: ROW--27JFXNWc + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + type: ROW + ROW-17CIe_GHN: + children: + - CHART-explore-1295-1 + id: ROW-17CIe_GHN + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + type: ROW + ROW-EDze1WWiC: + children: + - CHART-explore-1275-1 + id: ROW-EDze1WWiC + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + type: ROW + ROW-FolfXlYAh: + children: + - CHART-explore-1294-1 + id: ROW-FolfXlYAh + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + type: ROW + ROW-O1XuzgpIo: + children: + - CHART-explore-1276-1 + id: ROW-O1XuzgpIo + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + type: ROW + ROW-dAYfW3JOym: + children: + - CHART-explore-1467-1 + id: ROW-dAYfW3JOym + meta: + '0': ROOT_ID + '1': TABS-6vozRyRn2o + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + type: ROW + ROW-otbcoXVOj: + children: + - CHART-explore-1273-1 + id: ROW-otbcoXVOj + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + type: ROW + ROW-vepcifelF: + children: + - CHART-explore-1274-1 + id: ROW-vepcifelF + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + type: ROW + ROW-y57KZVzDt: + children: + - CHART-explore-1279-1 + id: ROW-y57KZVzDt + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-J31MdXj-sa + type: ROW + TAB-GuHDMLqRC: + children: + - ROW-vepcifelF + - ROW-17CIe_GHN + - ROW-O1XuzgpIo + - ROW--27JFXNWc + id: TAB-GuHDMLqRC + meta: + defaultText: Tab title + placeholder: Tab title + text: Run Metrics + parents: + - ROOT_ID + - TABS-6vozRyRn2o + type: TAB + TAB-J31MdXj-sa: + children: + - ROW-otbcoXVOj + - ROW-FolfXlYAh + - ROW-EDze1WWiC + - ROW-y57KZVzDt + - ROW-dAYfW3JOym + id: TAB-J31MdXj-sa + meta: + defaultText: Tab title + placeholder: Tab title + text: Course Metrics + parents: + - ROOT_ID + - TABS-6vozRyRn2o + type: TAB + TABS-6vozRyRn2o: + children: + - TAB-J31MdXj-sa + - TAB-GuHDMLqRC + id: TABS-6vozRyRn2o + meta: {} + parents: + - ROOT_ID + type: TABS +published: true +slug: course-comparison +uuid: c6c7062d-dd90-4292-b9cf-84f7b9f38e73 +version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/course_information.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/course_information.yaml new file mode 100644 index 000000000..a78b564eb --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/course_information.yaml @@ -0,0 +1,154 @@ +_file_name: course_information.yaml +always_filter_main_dttm: false +cache_timeout: null +columns: +- advanced_data_type: null + column_name: active_learner + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Nullable(String) + verbose_name: Active Learner +- advanced_data_type: null + column_name: enrollment_mode + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: LowCardinality(String) + verbose_name: Enrollment Mode +- advanced_data_type: null + column_name: actor_id + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Actor Id +- advanced_data_type: null + column_name: course_name + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Name +- advanced_data_type: null + column_name: course_run + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Run +- advanced_data_type: null + column_name: course_tag + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Tag +- advanced_data_type: null + column_name: org + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: LowCardinality(String) + verbose_name: Org +database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 +default_endpoint: null +description: null +extra: null +fetch_values_predicate: null +filter_select_enabled: true +main_dttm_col: emission_time +metrics: +- currency: null + d3format: null + description: null + expression: uniq((active_learner,course_run)) + extra: + warning_markdown: '' + metric_name: active_count + metric_type: null + verbose_name: Active Within Last 7 Days + warning_text: null +- currency: null + d3format: null + description: null + expression: |- + replaceAll(replaceRegexpAll(toString(groupArray(distinct course_tag)),'\[|\]|\'',''),',',', ') + extra: + warning_markdown: '' + metric_name: tag_list + metric_type: null + verbose_name: Tags + warning_text: null +- currency: null + d3format: null + description: null + expression: uniq((actor_id,course_run)) + extra: + warning_markdown: '' + metric_name: enrollees + metric_type: null + verbose_name: Current Enrollees + warning_text: null +- currency: null + d3format: null + description: null + expression: COUNT(*) + extra: + warning_markdown: '' + metric_name: count + metric_type: count + verbose_name: COUNT(*) + warning_text: null +normalize_columns: false +offset: 0 +params: null +schema: '{{ DBT_PROFILE_TARGET_DATABASE }}' +sql: |- + {% filter indent(width=2) %}{% include 'openedx-assets/queries/course_information.sql' %}{% endfilter %} +table_name: course_information +template_params: null +uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 +version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/learner_performance.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/learner_performance.yaml new file mode 100644 index 000000000..0083cfde0 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/learner_performance.yaml @@ -0,0 +1,191 @@ +_file_name: learner_performance.yaml +always_filter_main_dttm: false +cache_timeout: null +columns: +- advanced_data_type: null + column_name: course_key + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: LowCardinality(String) + verbose_name: Course Key +- advanced_data_type: null + column_name: course_grade + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Float64 + verbose_name: Course Grade +- advanced_data_type: null + column_name: actor_id + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Actor ID +- advanced_data_type: null + column_name: course_name + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Name +- advanced_data_type: null + column_name: course_run + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Run +- advanced_data_type: null + column_name: org + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: LowCardinality(String) + verbose_name: Org +- advanced_data_type: null + column_name: approving_state + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Pass/Fail +- advanced_data_type: null + column_name: attempts + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Int16 + verbose_name: Attempts +- advanced_data_type: null + column_name: success + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Bool + verbose_name: Success +database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 +default_endpoint: null +description: null +extra: null +fetch_values_predicate: null +filter_select_enabled: true +main_dttm_col: null +metrics: +- currency: null + d3format: null + description: null + expression: count(distinct case when attempts = 1 and success then actor_id else + null end)/count(distinct case when attempts > 0 then actor_id else null end) + extra: + warning_markdown: '' + metric_name: first_try_correct + metric_type: null + verbose_name: Avg % Correct on 1st Attempt + warning_text: null +- currency: null + d3format: null + description: null + expression: |- + count(distinct case when approving_state = 'passed' then actor_id else null end) + extra: + warning_markdown: '' + metric_name: count_passing + metric_type: null + verbose_name: Count of Passing Grades + warning_text: null +- currency: null + d3format: null + description: null + expression: 'quantile(0.5)(round(course_grade,2)) ' + extra: + warning_markdown: '' + metric_name: med_course_grade + metric_type: null + verbose_name: Median Course Grade + warning_text: null +- currency: null + d3format: null + description: null + expression: round(AVG(course_grade),2) + extra: + warning_markdown: '' + metric_name: avg_course_grade + metric_type: null + verbose_name: Avg Course Grade + warning_text: null +- currency: null + d3format: null + description: null + expression: COUNT(*) + extra: + warning_markdown: '' + metric_name: count + metric_type: count + verbose_name: COUNT(*) + warning_text: null +normalize_columns: false +offset: 0 +params: null +schema: '{{ DBT_PROFILE_TARGET_DATABASE }}' +sql: |- + {% filter indent(width=2) %}{% include 'openedx-assets/queries/learner_performance.sql' %}{% endfilter %} +table_name: learner_performance +template_params: null +uuid: ffc33796-bcd4-4e8b-a4e4-ab6517b72116 +version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/learner_performance_breakdown.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/learner_performance_breakdown.yaml new file mode 100644 index 000000000..50def3811 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/learner_performance_breakdown.yaml @@ -0,0 +1,143 @@ +_file_name: learner_performance_breakdown.yaml +always_filter_main_dttm: false +cache_timeout: null +columns: +- advanced_data_type: null + column_name: actor_id + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Actor Id +- advanced_data_type: null + column_name: approving_state + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Approving State +- advanced_data_type: null + column_name: course_name + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Name +- advanced_data_type: null + column_name: course_run + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Run +- advanced_data_type: null + column_name: learner_status + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Learner Status +- advanced_data_type: null + column_name: org + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: LowCardinality(String) + verbose_name: Org +database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 +default_endpoint: null +description: null +extra: null +fetch_values_predicate: null +filter_select_enabled: true +main_dttm_col: enrolled_at +metrics: +- currency: null + d3format: null + description: null + expression: |- + count(case when learner_status='at-risk' then actor_id else null end) + extra: + warning_markdown: '' + metric_name: at_risk + metric_type: null + verbose_name: At Risk + warning_text: null +- currency: null + d3format: null + description: null + expression: |- + count(case when learner_status='active' then actor_id else null end) + extra: + warning_markdown: '' + metric_name: active + metric_type: null + verbose_name: Active + warning_text: null +- currency: null + d3format: null + description: null + expression: |- + count(case when approving_state='passed' then actor_id else null end) + extra: + warning_markdown: '' + metric_name: passed + metric_type: null + verbose_name: Passed + warning_text: null +- currency: null + d3format: null + description: null + expression: COUNT(actor_id) + extra: + warning_markdown: '' + metric_name: count + metric_type: count + verbose_name: Total + warning_text: null +normalize_columns: false +offset: 0 +params: null +schema: '{{ DBT_PROFILE_TARGET_DATABASE }}' +sql: |- + {% filter indent(width=2) %}{% include 'openedx-assets/queries/learner_performance_breakdown.sql' %}{% endfilter %} +table_name: learner_performance_breakdown +template_params: null +uuid: 1970f934-cffb-4c5a-8a13-69dab22755c7 +version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/tag_filter.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/tag_filter.yaml new file mode 100644 index 000000000..563dc484e --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/tag_filter.yaml @@ -0,0 +1,76 @@ +_file_name: tag_filter.yaml +always_filter_main_dttm: false +cache_timeout: null +columns: +- advanced_data_type: null + column_name: id + description: null + expression: '' + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Int32 + verbose_name: Id +- advanced_data_type: null + column_name: rownum + description: null + expression: '' + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: UInt64 + verbose_name: Rownum +- advanced_data_type: null + column_name: tag + description: null + expression: '' + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Tag +database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 +default_endpoint: null +description: null +extra: null +fetch_values_predicate: null +filter_select_enabled: true +main_dttm_col: null +metrics: +- currency: null + d3format: null + description: null + expression: COUNT(*) + extra: {} + metric_name: count + metric_type: count + verbose_name: COUNT(*) + warning_text: null +- currency: null + d3format: null + description: null + expression: min(rownum) + extra: {} + metric_name: order + metric_type: null + verbose_name: order + warning_text: null +normalize_columns: false +offset: 0 +params: null +schema: '{{ ASPECTS_EVENT_SINK_DATABASE }}' +sql: |- + {% filter indent(width=2) %}{% include 'openedx-assets/queries/tag_filter_dataset.sql' %}{% endfilter %} +table_name: tag_filter +template_params: null +uuid: 81457874-fd86-4568-a730-9179ab7a7fd5 +version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/watched_video_duration.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/watched_video_duration.yaml new file mode 100644 index 000000000..6edec5e11 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/watched_video_duration.yaml @@ -0,0 +1,180 @@ +_file_name: watched_video_duration.yaml +always_filter_main_dttm: false +cache_timeout: null +columns: +- advanced_data_type: null + column_name: course_name + description: null + expression: '' + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Name +- advanced_data_type: null + column_name: video_duration + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Int64 + verbose_name: Video Duration +- advanced_data_type: null + column_name: course_run + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Run +- advanced_data_type: null + column_name: org + description: null + expression: null + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Org +- advanced_data_type: null + column_name: rewatched_time + description: null + expression: null + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Int64 + verbose_name: Rewatched Time +- advanced_data_type: null + column_name: watched_time + description: null + expression: null + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Int64 + verbose_name: Watched Time +- advanced_data_type: null + column_name: actor_id + description: null + expression: null + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Actor Id +- advanced_data_type: null + column_name: course_key + description: null + expression: null + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Course Key +- advanced_data_type: null + column_name: video_id + description: null + expression: null + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: String + verbose_name: Video Id +database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 +default_endpoint: null +description: null +extra: null +fetch_values_predicate: null +filter_select_enabled: true +main_dttm_col: null +metrics: +- currency: null + d3format: null + description: null + expression: (sum(rewatched_time)/count(actor_id))/sum(video_duration) + extra: {} + metric_name: rewatched_percent + metric_type: null + verbose_name: '% Video Seconds Rewatched' + warning_text: null +- currency: null + d3format: null + description: null + expression: (sum(watched_time)/count(actor_id))/sum(video_duration) + extra: {} + metric_name: watched_percent + metric_type: null + verbose_name: '% Video Seconds Watched' + warning_text: null +- currency: null + d3format: null + description: null + expression: avg(video_duration) + extra: {} + metric_name: avg_video_length + metric_type: null + verbose_name: Avg Video Length (seconds) + warning_text: null +- currency: null + d3format: null + description: null + expression: count(distinct video_id) + extra: {} + metric_name: video_count + metric_type: null + verbose_name: Number of Videos + warning_text: null +- currency: null + d3format: null + description: null + expression: COUNT(*) + extra: + warning_markdown: '' + metric_name: count + metric_type: count + verbose_name: COUNT(*) + warning_text: null +normalize_columns: true +offset: 0 +params: null +schema: '{{ DBT_PROFILE_TARGET_DATABASE }}' +sql: |- + {% filter indent(width=2) %}{% include 'openedx-assets/queries/watched_video_duration.sql' %}{% endfilter %} +table_name: watched_video_duration +template_params: null +uuid: 82cb6b56-c713-4933-93a0-9de15c266c4b +version: 1.0.0 diff --git a/tutoraspects/templates/openedx-assets/queries/common_filters.sql b/tutoraspects/templates/openedx-assets/queries/common_filters.sql index a2467c646..f26d48ea4 100644 --- a/tutoraspects/templates/openedx-assets/queries/common_filters.sql +++ b/tutoraspects/templates/openedx-assets/queries/common_filters.sql @@ -11,3 +11,15 @@ ) {% endif %} {%- endraw %} + +{% raw -%} +{% if filter_values("tag") != [] %} + and course_key in ( + select course_key + from + {% endraw -%} {{ DBT_PROFILE_TARGET_DATABASE }}.most_recent_course_tags{%- raw %} + where + tag in (select replaceAll(arrayJoin({{ filter_values("tag") }}), '- ', '')) + ) +{% endif %} +{%- endraw %} diff --git a/tutoraspects/templates/openedx-assets/queries/course_information.sql b/tutoraspects/templates/openedx-assets/queries/course_information.sql new file mode 100644 index 000000000..c6420396d --- /dev/null +++ b/tutoraspects/templates/openedx-assets/queries/course_information.sql @@ -0,0 +1,27 @@ +select + fes.org as org, + cn.course_name as course_name, + course_run, + fes.actor_id as actor_id, + fes.enrollment_mode as enrollment_mode, + case + when flfc.emission_time >= subtractDays(now(), 7) then actor_id else null + end as active_learner, + tag as course_tag, + fes.course_key as course_key +from {{ DBT_PROFILE_TARGET_DATABASE }}.fact_enrollment_status fes +left join + {{ ASPECTS_XAPI_DATABASE }}.fact_learner_last_course_visit flfc + on fes.org = flfc.org + and fes.course_key = flfc.course_key + and fes.actor_id = flfc.actor_id +left join + {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names cn + on fes.org = cn.org + and fes.course_key = cn.course_key +left join + {{ DBT_PROFILE_TARGET_DATABASE }}.most_recent_course_tags mrct + on mrct.course_key = fes.course_key +where + enrollment_status = 'registered' + {% include 'openedx-assets/queries/common_filters.sql' %} diff --git a/tutoraspects/templates/openedx-assets/queries/learner_performance.sql b/tutoraspects/templates/openedx-assets/queries/learner_performance.sql new file mode 100644 index 000000000..6c7829470 --- /dev/null +++ b/tutoraspects/templates/openedx-assets/queries/learner_performance.sql @@ -0,0 +1,14 @@ +select + org, + course_key, + course_name, + course_run, + actor_id, + success, + attempts, + course_grade, + approving_state +from {{ DBT_PROFILE_TARGET_DATABASE }}.fact_student_status +left join {{ DBT_PROFILE_TARGET_DATABASE }}.int_problem_results +using org, course_key, course_run, actor_id, course_name +where 1 = 1 {% include 'openedx-assets/queries/common_filters.sql' %} diff --git a/tutoraspects/templates/openedx-assets/queries/learner_performance_breakdown.sql b/tutoraspects/templates/openedx-assets/queries/learner_performance_breakdown.sql new file mode 100644 index 000000000..595a33ebf --- /dev/null +++ b/tutoraspects/templates/openedx-assets/queries/learner_performance_breakdown.sql @@ -0,0 +1,21 @@ +select + org, + actor_id, + course_name, + course_run, + approving_state, + case + when fllcv.emission_time >= subtractDays(now(), 7) + then 'active' + when + fllcv.emission_time < subtractDays(now(), 7) + and approving_state = 'failed' + and enrollment_status = 'registered' + then 'at-risk' + else 'other' + end as learner_status, + fss.course_key as course_key +from {{ DBT_PROFILE_TARGET_DATABASE }}.fact_student_status fss +left join {{ ASPECTS_XAPI_DATABASE }}.fact_learner_last_course_visit fllcv +using org, course_key, actor_id +where 1 = 1 {% include 'openedx-assets/queries/common_filters.sql' %} diff --git a/tutoraspects/templates/openedx-assets/queries/tag_filter_dataset.sql b/tutoraspects/templates/openedx-assets/queries/tag_filter_dataset.sql new file mode 100644 index 000000000..05bc2a308 --- /dev/null +++ b/tutoraspects/templates/openedx-assets/queries/tag_filter_dataset.sql @@ -0,0 +1,12 @@ +with + data as ( + select + id, + case when parent = 0 then id else cast(parent as int) end as sort_order_1, + case when parent = 0 then 0 else 1 end as sort_order_2, + concat(repeat('- ', countMatches(lineage, ',')), value) as tag, + row_number() over (order by sort_order_1, sort_order_2, value) as rownum + from {{ ASPECTS_EVENT_SINK_DATABASE }}.most_recent_tags + ) +select id, rownum, tag +from data diff --git a/tutoraspects/templates/openedx-assets/queries/watched_video_duration.sql b/tutoraspects/templates/openedx-assets/queries/watched_video_duration.sql new file mode 100644 index 000000000..9ad623f4e --- /dev/null +++ b/tutoraspects/templates/openedx-assets/queries/watched_video_duration.sql @@ -0,0 +1,14 @@ +select + names.org as org, + names.course_key as course_key, + names.course_name as course_name, + names.course_run as course_run, + actor_id, + video_id, + video_duration, + watched_time, + rewatched_time +from {{ ASPECTS_XAPI_DATABASE }}.watched_video_duration +left join {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names as names +using org, course_key +where 1 = 1 {% include 'openedx-assets/queries/common_filters.sql' %} From 09dc28116bd40f55e17ff90ae6c4c87cbc4aa045 Mon Sep 17 00:00:00 2001 From: Sara Burns Date: Wed, 11 Sep 2024 12:34:17 -0400 Subject: [PATCH 2/5] fix: updates --- .../charts/Video_Engagement_5b00f7.yaml | 6 +- .../charts/Video_Engagement_8b0535.yaml | 107 ++++++++++++++++++ .../Course_Comparison_Dashboard.yaml | 51 +++++++++ 3 files changed, 161 insertions(+), 3 deletions(-) create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_8b0535.yaml diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_5b00f7.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_5b00f7.yaml index 877851d35..caf733e61 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_5b00f7.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_5b00f7.yaml @@ -7,6 +7,7 @@ description: null params: adhoc_filters: [] all_columns: [] + annotation_layers: [] color_pn: true column_config: rewatched_percent: @@ -41,6 +42,7 @@ query_context: form_data: adhoc_filters: [] all_columns: [] + annotation_layers: [] color_pn: true column_config: rewatched_percent: @@ -48,8 +50,6 @@ query_context: watched_percent: d3NumberFormat: ',.1%' conditional_formatting: [] - dashboards: - - 2641 datasource: 746__table extra_form_data: {} force: false @@ -70,7 +70,7 @@ query_context: row_limit: 50000 server_page_length: 10 show_cell_bars: false - slice_id: 1361 + slice_id: 1467 table_timestamp_format: smart_date temporal_columns_lookup: {} viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_8b0535.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_8b0535.yaml new file mode 100644 index 000000000..ba1364215 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_8b0535.yaml @@ -0,0 +1,107 @@ +_file_name: Video_Engagement_8b0535.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 82cb6b56-c713-4933-93a0-9de15c266c4b +description: null +params: + adhoc_filters: [] + all_columns: [] + color_pn: true + column_config: + rewatched_percent: + d3NumberFormat: ',.1%' + watched_percent: + d3NumberFormat: ',.1%' + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_run + - course_name + metrics: + - watched_percent + - rewatched_percent + - video_count + - avg_video_length + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + viz_type: table +query_context: + datasource: + id: 746 + type: table + force: false + form_data: + adhoc_filters: [] + all_columns: [] + color_pn: true + column_config: + rewatched_percent: + d3NumberFormat: ',.1%' + watched_percent: + d3NumberFormat: ',.1%' + conditional_formatting: [] + dashboards: + - 2841 + datasource: 746__table + extra_form_data: {} + force: false + groupby: + - course_run + - course_name + metrics: + - watched_percent + - rewatched_percent + - video_count + - avg_video_length + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + slice_id: 1499 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - course_run + - course_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + where: '' + filters: [] + metrics: + - watched_percent + - rewatched_percent + - video_count + - avg_video_length + order_desc: true + orderby: + - - watched_percent + - false + post_processing: [] + row_limit: 50000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Video Engagement +uuid: 8b0535a8-a43f-49bf-9d50-439a16bd3f74 +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml index be8f8537e..9ef14097b 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml @@ -19,6 +19,7 @@ metadata: - 1181 - 1381 - 1467 + - 1499 scope: global id: 1081 '1181': @@ -32,6 +33,7 @@ metadata: - 1081 - 1381 - 1467 + - 1499 scope: global id: 1181 '121': @@ -45,6 +47,7 @@ metadata: - 1181 - 1381 - 1467 + - 1499 scope: global id: 121 '1381': @@ -58,6 +61,7 @@ metadata: - 1081 - 1181 - 1467 + - 1499 scope: global id: 1381 '1467': @@ -71,8 +75,23 @@ metadata: - 1081 - 1181 - 1381 + - 1499 scope: global id: 1467 + '1499': + crossFilters: + chartsInScope: + - 121 + - 161 + - 221 + - 421 + - 801 + - 1081 + - 1181 + - 1381 + - 1467 + scope: global + id: 1499 '161': crossFilters: chartsInScope: @@ -84,6 +103,7 @@ metadata: - 1181 - 1381 - 1467 + - 1499 scope: global id: 161 '221': @@ -97,6 +117,7 @@ metadata: - 1181 - 1381 - 1467 + - 1499 scope: global id: 221 '421': @@ -110,6 +131,7 @@ metadata: - 1181 - 1381 - 1467 + - 1499 scope: global id: 421 '801': @@ -123,6 +145,7 @@ metadata: - 1181 - 1381 - 1467 + - 1499 scope: global id: 801 color_scheme: supersetColors @@ -165,6 +188,7 @@ metadata: - 1181 - 1381 - 1467 + - 1499 scope: excluded: [] rootPath: @@ -322,6 +346,21 @@ metadata: passed: '#666666' timed_refresh_immune_slices: [] position: + CHART-cCvwluYyq5: + children: [] + id: CHART-cCvwluYyq5 + meta: + chartId: 1499 + height: 50 + sliceName: Video Engagement + uuid: 8b0535a8-a43f-49bf-9d50-439a16bd3f74 + width: 12 + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + - ROW-ndytg7f9RZ + type: CHART CHART-explore-1273-1: children: [] id: CHART-explore-1273-1 @@ -496,6 +535,17 @@ position: - TABS-6vozRyRn2o - TAB-GuHDMLqRC type: ROW + ROW-6K52dxpSv: + children: + - CHART-cCvwluYyq5 + id: ROW-6K52dxpSv + meta: + background: BACKGROUND_TRANSPARENT + parents: + - ROOT_ID + - TABS-6vozRyRn2o + - TAB-GuHDMLqRC + type: ROW ROW-EDze1WWiC: children: - CHART-explore-1275-1 @@ -581,6 +631,7 @@ position: - ROW-17CIe_GHN - ROW-O1XuzgpIo - ROW--27JFXNWc + - ROW-6K52dxpSv id: TAB-GuHDMLqRC meta: defaultText: Tab title From 534583cade79cc38b884e0b73409154938435434 Mon Sep 17 00:00:00 2001 From: Sara Burns Date: Wed, 11 Sep 2024 13:44:01 -0400 Subject: [PATCH 3/5] fix: get query context --- .../assets/charts/Course_Info_a433e3.yaml | 52 -- .../assets/charts/Course_Info_b2fff8.yaml | 132 ++++++ .../assets/charts/Course_Info_ccdd7d.yaml | 132 ++++++ .../assets/charts/Course_Info_e0098c.yaml | 52 -- ...af8.yaml => Enrollment_Counts_7eaf5b.yaml} | 8 +- .../charts/Enrollment_Counts_8230a3.yaml | 103 ++++ .../charts/Enrollment_Counts_bd37be.yaml | 39 -- .../charts/Learner_Performance_4e48b8.yaml | 50 -- .../Learner_Performance_Breakdown_4250c9.yaml | 72 --- .../Learner_Performance_Breakdown_9c3f72.yaml | 77 --- .../Learner_Performance_Breakdown_b73b0a.yaml | 191 ++++++++ .../Learner_Performance_Breakdown_d414b1.yaml | 203 ++++++++ .../charts/Learner_Performance_b0e170.yaml | 145 ++++++ .../charts/Learner_Performance_b518f3.yaml | 122 +++++ .../charts/Learner_Performance_dde44a.yaml | 60 --- ...0535.yaml => Video_Engagement_6b7610.yaml} | 8 +- .../Course_Comparison_Dashboard.yaml | 446 +++++++++--------- 17 files changed, 1259 insertions(+), 633 deletions(-) delete mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_a433e3.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_b2fff8.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_ccdd7d.yaml delete mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_e0098c.yaml rename tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/{Enrollment_Counts_2f2af8.yaml => Enrollment_Counts_7eaf5b.yaml} (94%) create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_8230a3.yaml delete mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_bd37be.yaml delete mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_4e48b8.yaml delete mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_4250c9.yaml delete mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_9c3f72.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_b73b0a.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_d414b1.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_b0e170.yaml create mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_b518f3.yaml delete mode 100644 tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_dde44a.yaml rename tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/{Video_Engagement_8b0535.yaml => Video_Engagement_6b7610.yaml} (94%) diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_a433e3.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_a433e3.yaml deleted file mode 100644 index e645a6de5..000000000 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_a433e3.yaml +++ /dev/null @@ -1,52 +0,0 @@ -_file_name: Course_Info_a433e3.yaml -cache_timeout: null -certification_details: null -certified_by: null -dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 -description: null -params: - adhoc_filters: - - clause: WHERE - comparator: No filter - expressionType: SIMPLE - operator: TEMPORAL_RANGE - subject: emission_time - all_columns: [] - annotation_layers: [] - color_pn: false - column_config: - active_count: - columnWidth: 200 - course_name: - columnWidth: 300 - enrollees: - columnWidth: 150 - org: - columnWidth: 200 - tag_list: - truncateLongCells: true - conditional_formatting: [] - extra_form_data: {} - groupby: - - course_name - - org - metrics: - - enrollees - - active_count - - tag_list - order_by_cols: [] - order_desc: false - percent_metrics: [] - query_mode: aggregate - row_limit: 50000 - server_page_length: 10 - show_cell_bars: false - table_timestamp_format: smart_date - temporal_columns_lookup: {} - time_grain_sqla: P1M - viz_type: table -query_context: null -slice_name: Course Info -uuid: a433e3cc-8ed5-454a-8b17-5dd75cfc84e4 -version: 1.0.0 -viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_b2fff8.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_b2fff8.yaml new file mode 100644 index 000000000..9829dfb49 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_b2fff8.yaml @@ -0,0 +1,132 @@ +_file_name: Course_Info_b2fff8.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 +description: null +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + all_columns: [] + color_pn: false + column_config: + active_count: + columnWidth: 200 + course_name: + columnWidth: 300 + enrollees: + columnWidth: 150 + org: + columnWidth: 200 + tag_list: + truncateLongCells: true + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_name + - org + metrics: + - enrollees + - active_count + - tag_list + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table +query_context: + datasource: + id: 221 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + all_columns: [] + color_pn: false + column_config: + active_count: + columnWidth: 200 + course_name: + columnWidth: 300 + enrollees: + columnWidth: 150 + org: + columnWidth: 200 + tag_list: + truncateLongCells: true + conditional_formatting: [] + dashboards: + - 3141 + datasource: 221__table + extra_form_data: {} + force: false + groupby: + - course_name + - org + metrics: + - enrollees + - active_count + - tag_list + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + slice_id: 1181 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - course_name + - org + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - enrollees + - active_count + - tag_list + order_desc: false + orderby: + - - enrollees + - false + post_processing: [] + row_limit: 50000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Course Info +uuid: b2fff8a7-3ace-4075-9a3f-5fa5b99f81bb +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_ccdd7d.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_ccdd7d.yaml new file mode 100644 index 000000000..98d55008d --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_ccdd7d.yaml @@ -0,0 +1,132 @@ +_file_name: Course_Info_ccdd7d.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 +description: null +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + all_columns: [] + color_pn: false + column_config: + Current Enrollees: + columnWidth: 150 + active_count: + columnWidth: 200 + course_name: + columnWidth: 200 + course_run: + columnWidth: 300 + tag_list: + truncateLongCells: true + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_run + - course_name + metrics: + - active_count + - tag_list + - enrollees + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table +query_context: + datasource: + id: 221 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + all_columns: [] + color_pn: false + column_config: + Current Enrollees: + columnWidth: 150 + active_count: + columnWidth: 200 + course_name: + columnWidth: 200 + course_run: + columnWidth: 300 + tag_list: + truncateLongCells: true + conditional_formatting: [] + dashboards: + - 3141 + datasource: 221__table + extra_form_data: {} + force: false + groupby: + - course_run + - course_name + metrics: + - active_count + - tag_list + - enrollees + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + slice_id: 1381 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - course_run + - course_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - active_count + - tag_list + - enrollees + order_desc: false + orderby: + - - active_count + - false + post_processing: [] + row_limit: 50000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Course Info +uuid: ccdd7d98-4722-490b-a0b2-077380a7c7eb +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_e0098c.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_e0098c.yaml deleted file mode 100644 index 1f46f9be6..000000000 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Info_e0098c.yaml +++ /dev/null @@ -1,52 +0,0 @@ -_file_name: Course_Info_e0098c.yaml -cache_timeout: null -certification_details: null -certified_by: null -dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 -description: null -params: - adhoc_filters: - - clause: WHERE - comparator: No filter - expressionType: SIMPLE - operator: TEMPORAL_RANGE - subject: emission_time - all_columns: [] - annotation_layers: [] - color_pn: false - column_config: - Current Enrollees: - columnWidth: 150 - active_count: - columnWidth: 200 - course_name: - columnWidth: 200 - course_run: - columnWidth: 300 - tag_list: - truncateLongCells: true - conditional_formatting: [] - extra_form_data: {} - groupby: - - course_run - - course_name - metrics: - - active_count - - tag_list - - enrollees - order_by_cols: [] - order_desc: false - percent_metrics: [] - query_mode: aggregate - row_limit: 50000 - server_page_length: 10 - show_cell_bars: false - table_timestamp_format: smart_date - temporal_columns_lookup: {} - time_grain_sqla: P1M - viz_type: table -query_context: null -slice_name: Course Info -uuid: e0098cfe-a312-4c49-8efd-7e74256b6ea4 -version: 1.0.0 -viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_2f2af8.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_7eaf5b.yaml similarity index 94% rename from tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_2f2af8.yaml rename to tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_7eaf5b.yaml index c48319b50..10a5b8dcb 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_2f2af8.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_7eaf5b.yaml @@ -1,4 +1,4 @@ -_file_name: Enrollment_Counts_2f2af8.yaml +_file_name: Enrollment_Counts_7eaf5b.yaml cache_timeout: null certification_details: null certified_by: null @@ -12,7 +12,6 @@ params: operator: TEMPORAL_RANGE subject: emission_time aggregateFunction: Sum - annotation_layers: [] colOrder: key_a_to_z colSubTotals: false conditional_formatting: [] @@ -45,10 +44,11 @@ query_context: operator: TEMPORAL_RANGE subject: emission_time aggregateFunction: Sum - annotation_layers: [] colOrder: key_a_to_z colSubTotals: false conditional_formatting: [] + dashboards: + - 3141 datasource: 221__table date_format: smart_date extra_form_data: {} @@ -98,6 +98,6 @@ query_context: result_format: json result_type: full slice_name: Enrollment Counts -uuid: 2f2af8b0-94ae-4300-b71f-3bd7f9fc127c +uuid: 7eaf5bc2-0067-424b-a50b-607cf54c086a version: 1.0.0 viz_type: pivot_table_v2 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_8230a3.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_8230a3.yaml new file mode 100644 index 000000000..97ab78eb9 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_8230a3.yaml @@ -0,0 +1,103 @@ +_file_name: Enrollment_Counts_8230a3.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 +description: null +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + aggregateFunction: Sum + colOrder: key_a_to_z + colSubTotals: false + conditional_formatting: [] + date_format: smart_date + extra_form_data: {} + groupbyColumns: + - enrollment_mode + groupbyRows: + - course_run + metrics: + - enrollees + metricsLayout: COLUMNS + order_desc: false + rowOrder: key_a_to_z + row_limit: 50000 + temporal_columns_lookup: {} + time_grain_sqla: P1D + valueFormat: SMART_NUMBER + viz_type: pivot_table_v2 +query_context: + datasource: + id: 221 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + aggregateFunction: Sum + colOrder: key_a_to_z + colSubTotals: false + conditional_formatting: [] + dashboards: + - 3141 + datasource: 221__table + date_format: smart_date + extra_form_data: {} + force: false + groupbyColumns: + - enrollment_mode + groupbyRows: + - course_run + metrics: + - enrollees + metricsLayout: COLUMNS + order_desc: false + result_format: json + result_type: full + rowOrder: key_a_to_z + row_limit: 50000 + slice_id: 1081 + temporal_columns_lookup: {} + time_grain_sqla: P1D + valueFormat: SMART_NUMBER + viz_type: pivot_table_v2 + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - enrollment_mode + - course_run + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - enrollees + order_desc: false + orderby: + - - enrollees + - true + row_limit: 50000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Enrollment Counts +uuid: 8230a366-957d-4667-a2ff-3cbcb2f25f60 +version: 1.0.0 +viz_type: pivot_table_v2 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_bd37be.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_bd37be.yaml deleted file mode 100644 index 6f3f8d4d7..000000000 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollment_Counts_bd37be.yaml +++ /dev/null @@ -1,39 +0,0 @@ -_file_name: Enrollment_Counts_bd37be.yaml -cache_timeout: null -certification_details: null -certified_by: null -dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341 -description: null -params: - adhoc_filters: - - clause: WHERE - comparator: No filter - expressionType: SIMPLE - operator: TEMPORAL_RANGE - subject: emission_time - aggregateFunction: Sum - annotation_layers: [] - colOrder: key_a_to_z - colSubTotals: false - conditional_formatting: [] - date_format: smart_date - extra_form_data: {} - groupbyColumns: - - enrollment_mode - groupbyRows: - - course_run - metrics: - - enrollees - metricsLayout: COLUMNS - order_desc: false - rowOrder: key_a_to_z - row_limit: 50000 - temporal_columns_lookup: {} - time_grain_sqla: P1D - valueFormat: SMART_NUMBER - viz_type: pivot_table_v2 -query_context: null -slice_name: Enrollment Counts -uuid: bd37be7f-6672-4dca-80ae-a54f69d169da -version: 1.0.0 -viz_type: pivot_table_v2 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_4e48b8.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_4e48b8.yaml deleted file mode 100644 index efc680d57..000000000 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_4e48b8.yaml +++ /dev/null @@ -1,50 +0,0 @@ -_file_name: Learner_Performance_4e48b8.yaml -cache_timeout: null -certification_details: null -certified_by: null -dataset_uuid: ffc33796-bcd4-4e8b-a4e4-ab6517b72116 -description: |- -
-
Avg % Correct on 1st Attempt
-
The average percentage of correct answers on the first attempt
-
-params: - adhoc_filters: [] - all_columns: - - success - annotation_layers: [] - color_pn: true - column_config: - avg_course_grade: - d3NumberFormat: ',.1%' - first_try_correct: - d3NumberFormat: ',.1%' - showCellBars: false - med_course_grade: - d3NumberFormat: ',.1%' - conditional_formatting: [] - extra_form_data: {} - groupby: - - course_name - - org - metrics: - - first_try_correct - - count_passing - - avg_course_grade - - med_course_grade - order_by_cols: [] - order_desc: true - percent_metrics: [] - query_mode: aggregate - row_limit: 50000 - server_page_length: 10 - show_cell_bars: false - table_timestamp_format: smart_date - temporal_columns_lookup: {} - time_grain_sqla: P1M - viz_type: table -query_context: null -slice_name: Learner Performance -uuid: 4e48b8f9-e757-4263-a9d7-d18018620a24 -version: 1.0.0 -viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_4250c9.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_4250c9.yaml deleted file mode 100644 index 5cb56ae50..000000000 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_4250c9.yaml +++ /dev/null @@ -1,72 +0,0 @@ -_file_name: Learner_Performance_Breakdown_4250c9.yaml -cache_timeout: null -certification_details: null -certified_by: null -dataset_uuid: 1970f934-cffb-4c5a-8a13-69dab22755c7 -description: |- - Displays the top 10 highest enrollment courses. - Selecting different courses in the filter will display those courses. -params: - adhoc_filters: - - clause: WHERE - comparator: No filter - expressionType: SIMPLE - operator: TEMPORAL_RANGE - subject: enrolled_at - annotation_layers: [] - color_scheme: supersetColors - comparison_type: values - contributionMode: null - extra_form_data: {} - forecastInterval: 0.8 - forecastPeriods: 10 - groupby: [] - legendMargin: null - legendOrientation: bottom - legendType: scroll - logAxis: false - metrics: - - count - - passed - - active - - at_risk - minorSplitLine: false - minorTicks: false - only_total: true - order_desc: true - orientation: horizontal - rich_tooltip: false - row_limit: 10 - show_empty_columns: false - show_legend: true - show_value: false - sort_series_ascending: true - sort_series_type: name - stack: null - tooltipSortByMetric: false - tooltipTimeFormat: smart_date - truncateXAxis: false - truncateYAxis: false - truncate_metric: false - viz_type: echarts_timeseries_bar - xAxisLabelRotation: 0 - x_axis: course_name - x_axis_sort_asc: true - x_axis_sort_series: sum - x_axis_sort_series_ascending: false - x_axis_time_format: smart_date - x_axis_title: '' - x_axis_title_margin: 15 - y_axis_bounds: - - null - - null - y_axis_format: SMART_NUMBER - y_axis_title: '' - y_axis_title_margin: 15 - y_axis_title_position: Left - zoomable: false -query_context: null -slice_name: Learner Performance Breakdown -uuid: 4250c976-a9b7-43ff-b5ad-8dd00a5acef7 -version: 1.0.0 -viz_type: echarts_timeseries_bar diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_9c3f72.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_9c3f72.yaml deleted file mode 100644 index 103ec80a1..000000000 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_9c3f72.yaml +++ /dev/null @@ -1,77 +0,0 @@ -_file_name: Learner_Performance_Breakdown_9c3f72.yaml -cache_timeout: null -certification_details: null -certified_by: null -dataset_uuid: 1970f934-cffb-4c5a-8a13-69dab22755c7 -description: Displays the top 10 highest enrollment courses. Selecting different courses - in the filter will display those courses. -params: - adhoc_filters: - - clause: WHERE - comparator: No filter - datasourceWarning: false - expressionType: SIMPLE - filterOptionName: filter_noj2mkjbumn_edkgbebkld8 - isExtra: false - isNew: false - operator: TEMPORAL_RANGE - sqlExpression: null - subject: enrolled_at - annotation_layers: [] - color_scheme: supersetColors - comparison_type: values - contributionMode: null - extra_form_data: {} - forecastInterval: 0.8 - forecastPeriods: 10 - groupby: [] - legendMargin: 0 - legendOrientation: bottom - legendType: scroll - logAxis: false - metrics: - - passed - - count - - at_risk - - active - minorSplitLine: false - minorTicks: false - only_total: true - order_desc: true - orientation: horizontal - rich_tooltip: false - row_limit: 10 - show_empty_columns: false - show_legend: true - show_value: false - sort_series_ascending: true - sort_series_type: name - stack: null - timeseries_limit_metric: null - tooltipSortByMetric: false - tooltipTimeFormat: smart_date - truncateXAxis: false - truncateYAxis: false - truncate_metric: true - viz_type: echarts_timeseries_bar - xAxisLabelRotation: 0 - x_axis: course_run - x_axis_sort_asc: true - x_axis_sort_series: name - x_axis_sort_series_ascending: true - x_axis_time_format: smart_date - x_axis_title: '' - x_axis_title_margin: 15 - y_axis_bounds: - - null - - null - y_axis_format: SMART_NUMBER - y_axis_title: '' - y_axis_title_margin: 15 - y_axis_title_position: Left - zoomable: false -query_context: null -slice_name: Learner Performance Breakdown -uuid: 9c3f7291-1bd9-4b2f-abc0-472aad3aff06 -version: 1.0.0 -viz_type: echarts_timeseries_bar diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_b73b0a.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_b73b0a.yaml new file mode 100644 index 000000000..f551f557d --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_b73b0a.yaml @@ -0,0 +1,191 @@ +_file_name: Learner_Performance_Breakdown_b73b0a.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 1970f934-cffb-4c5a-8a13-69dab22755c7 +description: Displays the top 10 highest enrollment courses. Selecting different courses + in the filter will display those courses. +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: enrolled_at + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + contributionMode: null + extra_form_data: {} + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: null + legendOrientation: bottom + legendType: scroll + logAxis: false + metrics: + - count + - passed + - active + - at_risk + minorSplitLine: false + minorTicks: false + only_total: true + order_desc: true + orientation: horizontal + rich_tooltip: false + row_limit: 10 + show_empty_columns: false + show_legend: true + show_value: false + sort_series_ascending: true + sort_series_type: name + stack: null + tooltipSortByMetric: false + tooltipTimeFormat: smart_date + truncateXAxis: false + truncateYAxis: false + truncate_metric: false + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: course_name + x_axis_sort_asc: true + x_axis_sort_series: sum + x_axis_sort_series_ascending: false + x_axis_time_format: smart_date + x_axis_title: '' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: '' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: false +query_context: + datasource: + id: 464 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: enrolled_at + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + contributionMode: null + dashboards: + - 3141 + datasource: 464__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: null + legendOrientation: bottom + legendType: scroll + logAxis: false + metrics: + - count + - passed + - active + - at_risk + minorSplitLine: false + minorTicks: false + only_total: true + order_desc: true + orientation: horizontal + result_format: json + result_type: full + rich_tooltip: false + row_limit: 10 + show_empty_columns: false + show_legend: true + show_value: false + slice_id: 1504 + sort_series_ascending: true + sort_series_type: name + stack: null + tooltipSortByMetric: false + tooltipTimeFormat: smart_date + truncateXAxis: false + truncateYAxis: false + truncate_metric: false + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: course_name + x_axis_sort_asc: true + x_axis_sort_series: sum + x_axis_sort_series_ascending: false + x_axis_time_format: smart_date + x_axis_title: '' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: '' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: false + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: course_name + sqlExpression: course_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + where: '' + filters: + - col: enrolled_at + op: TEMPORAL_RANGE + val: No filter + metrics: + - count + - passed + - active + - at_risk + order_desc: true + orderby: + - - count + - false + post_processing: + - operation: pivot + options: + aggregates: + active: + operator: mean + at_risk: + operator: mean + count: + operator: mean + passed: + operator: mean + columns: [] + drop_missing_columns: true + index: + - course_name + - operation: flatten + row_limit: 10 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full +slice_name: Learner Performance Breakdown +uuid: b73b0a5c-4861-402e-a39c-d73333a4d911 +version: 1.0.0 +viz_type: echarts_timeseries_bar diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_d414b1.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_d414b1.yaml new file mode 100644 index 000000000..bc231dca6 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_d414b1.yaml @@ -0,0 +1,203 @@ +_file_name: Learner_Performance_Breakdown_d414b1.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 1970f934-cffb-4c5a-8a13-69dab22755c7 +description: Displays the top 10 highest enrollment courses. Selecting different courses + in the filter will display those courses. +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_noj2mkjbumn_edkgbebkld8 + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: enrolled_at + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + contributionMode: null + extra_form_data: {} + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: 0 + legendOrientation: bottom + legendType: scroll + logAxis: false + metrics: + - passed + - count + - at_risk + - active + minorSplitLine: false + minorTicks: false + only_total: true + order_desc: true + orientation: horizontal + rich_tooltip: false + row_limit: 10 + show_empty_columns: false + show_legend: true + show_value: false + sort_series_ascending: true + sort_series_type: name + stack: null + timeseries_limit_metric: null + tooltipSortByMetric: false + tooltipTimeFormat: smart_date + truncateXAxis: false + truncateYAxis: false + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: course_run + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: smart_date + x_axis_title: '' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: '' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: false +query_context: + datasource: + id: 464 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_noj2mkjbumn_edkgbebkld8 + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: enrolled_at + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + contributionMode: null + dashboards: + - 3141 + datasource: 464__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: 0 + legendOrientation: bottom + legendType: scroll + logAxis: false + metrics: + - passed + - count + - at_risk + - active + minorSplitLine: false + minorTicks: false + only_total: true + order_desc: true + orientation: horizontal + result_format: json + result_type: full + rich_tooltip: false + row_limit: 10 + show_empty_columns: false + show_legend: true + show_value: false + slice_id: 1505 + sort_series_ascending: true + sort_series_type: name + stack: null + timeseries_limit_metric: null + tooltipSortByMetric: false + tooltipTimeFormat: smart_date + truncateXAxis: false + truncateYAxis: false + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: course_run + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: smart_date + x_axis_title: '' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: '' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: false + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: course_run + sqlExpression: course_run + custom_form_data: {} + custom_params: {} + extras: + having: '' + where: '' + filters: + - col: enrolled_at + op: TEMPORAL_RANGE + val: No filter + metrics: + - passed + - count + - at_risk + - active + order_desc: true + orderby: + - - passed + - false + post_processing: + - operation: pivot + options: + aggregates: + active: + operator: mean + at_risk: + operator: mean + count: + operator: mean + passed: + operator: mean + columns: [] + drop_missing_columns: true + index: + - course_run + - operation: flatten + row_limit: 10 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full +slice_name: Learner Performance Breakdown +uuid: d414b144-467b-456b-b899-9cfb3579faba +version: 1.0.0 +viz_type: echarts_timeseries_bar diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_b0e170.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_b0e170.yaml new file mode 100644 index 000000000..5b7ae82bb --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_b0e170.yaml @@ -0,0 +1,145 @@ +_file_name: Learner_Performance_b0e170.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: ffc33796-bcd4-4e8b-a4e4-ab6517b72116 +description: |- +
+
Avg % Correct on 1st Attempt
+
The average percentage of correct answers on the first attempt
+
+params: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_qqnzi3klvaa_mtbj67olly + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + all_columns: + - success + color_pn: true + column_config: + avg_course_grade: + d3NumberFormat: ',.1%' + first_try_correct: + d3NumberFormat: ',.1%' + showCellBars: false + med_course_grade: + d3NumberFormat: ',.1%' + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_run + - course_name + metrics: + - first_try_correct + - count_passing + - avg_course_grade + - med_course_grade + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table +query_context: + datasource: + id: 61 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_qqnzi3klvaa_mtbj67olly + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + all_columns: + - success + color_pn: true + column_config: + avg_course_grade: + d3NumberFormat: ',.1%' + first_try_correct: + d3NumberFormat: ',.1%' + showCellBars: false + med_course_grade: + d3NumberFormat: ',.1%' + conditional_formatting: [] + dashboards: + - 3141 + datasource: 61__table + extra_form_data: {} + force: false + groupby: + - course_run + - course_name + metrics: + - first_try_correct + - count_passing + - avg_course_grade + - med_course_grade + order_by_cols: [] + order_desc: false + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + slice_id: 1507 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - course_run + - course_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - first_try_correct + - count_passing + - avg_course_grade + - med_course_grade + order_desc: false + orderby: + - - first_try_correct + - false + post_processing: [] + row_limit: 50000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Learner Performance +uuid: b0e170ce-26f1-4452-a3c0-49b41fa6e529 +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_b518f3.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_b518f3.yaml new file mode 100644 index 000000000..cdb62bff7 --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_b518f3.yaml @@ -0,0 +1,122 @@ +_file_name: Learner_Performance_b518f3.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: ffc33796-bcd4-4e8b-a4e4-ab6517b72116 +description: |- +
+
Avg % Correct on 1st Attempt
+
The average percentage of correct answers on the first attempt
+
+params: + adhoc_filters: [] + all_columns: + - success + color_pn: true + column_config: + avg_course_grade: + d3NumberFormat: ',.1%' + first_try_correct: + d3NumberFormat: ',.1%' + showCellBars: false + med_course_grade: + d3NumberFormat: ',.1%' + conditional_formatting: [] + extra_form_data: {} + groupby: + - course_name + - org + metrics: + - first_try_correct + - count_passing + - avg_course_grade + - med_course_grade + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table +query_context: + datasource: + id: 61 + type: table + force: false + form_data: + adhoc_filters: [] + all_columns: + - success + color_pn: true + column_config: + avg_course_grade: + d3NumberFormat: ',.1%' + first_try_correct: + d3NumberFormat: ',.1%' + showCellBars: false + med_course_grade: + d3NumberFormat: ',.1%' + conditional_formatting: [] + dashboards: + - 3141 + datasource: 61__table + extra_form_data: {} + force: false + groupby: + - course_name + - org + metrics: + - first_try_correct + - count_passing + - avg_course_grade + - med_course_grade + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 50000 + server_page_length: 10 + show_cell_bars: false + slice_id: 1506 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - course_name + - org + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: [] + metrics: + - first_try_correct + - count_passing + - avg_course_grade + - med_course_grade + order_desc: true + orderby: + - - first_try_correct + - false + post_processing: [] + row_limit: 50000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Learner Performance +uuid: b518f341-9ed4-4c23-bb88-6c1d497aa260 +version: 1.0.0 +viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_dde44a.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_dde44a.yaml deleted file mode 100644 index 82bfe19d3..000000000 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_dde44a.yaml +++ /dev/null @@ -1,60 +0,0 @@ -_file_name: Learner_Performance_dde44a.yaml -cache_timeout: null -certification_details: null -certified_by: null -dataset_uuid: ffc33796-bcd4-4e8b-a4e4-ab6517b72116 -description: |- -
-
Avg % Correct on 1st Attempt
-
The average percentage of correct answers on the first attempt
-
-params: - adhoc_filters: - - clause: WHERE - comparator: No filter - datasourceWarning: false - expressionType: SIMPLE - filterOptionName: filter_qqnzi3klvaa_mtbj67olly - isExtra: false - isNew: false - operator: TEMPORAL_RANGE - sqlExpression: null - subject: emission_time - all_columns: - - success - annotation_layers: [] - color_pn: true - column_config: - avg_course_grade: - d3NumberFormat: ',.1%' - first_try_correct: - d3NumberFormat: ',.1%' - showCellBars: false - med_course_grade: - d3NumberFormat: ',.1%' - conditional_formatting: [] - extra_form_data: {} - groupby: - - course_run - - course_name - metrics: - - first_try_correct - - count_passing - - avg_course_grade - - med_course_grade - order_by_cols: [] - order_desc: false - percent_metrics: [] - query_mode: aggregate - row_limit: 50000 - server_page_length: 10 - show_cell_bars: false - table_timestamp_format: smart_date - temporal_columns_lookup: {} - time_grain_sqla: P1M - viz_type: table -query_context: null -slice_name: Learner Performance -uuid: dde44a03-649f-4d77-990b-a95be204e1ba -version: 1.0.0 -viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_8b0535.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_6b7610.yaml similarity index 94% rename from tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_8b0535.yaml rename to tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_6b7610.yaml index ba1364215..fd1a38535 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_8b0535.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Engagement_6b7610.yaml @@ -1,4 +1,4 @@ -_file_name: Video_Engagement_8b0535.yaml +_file_name: Video_Engagement_6b7610.yaml cache_timeout: null certification_details: null certified_by: null @@ -49,7 +49,7 @@ query_context: d3NumberFormat: ',.1%' conditional_formatting: [] dashboards: - - 2841 + - 3141 datasource: 746__table extra_form_data: {} force: false @@ -70,7 +70,7 @@ query_context: row_limit: 50000 server_page_length: 10 show_cell_bars: false - slice_id: 1499 + slice_id: 1508 table_timestamp_format: smart_date temporal_columns_lookup: {} viz_type: table @@ -102,6 +102,6 @@ query_context: result_format: json result_type: full slice_name: Video Engagement -uuid: 8b0535a8-a43f-49bf-9d50-439a16bd3f74 +uuid: 6b7610a7-41d0-4d14-be81-62a5a8f22d62 version: 1.0.0 viz_type: table diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml index 9ef14097b..416f79c07 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Comparison_Dashboard.yaml @@ -8,146 +8,146 @@ dashboard_title: Course Comparison Dashboard description: null metadata: chart_configuration: - '1081': + '1467': crossFilters: chartsInScope: - - 121 - - 161 - - 221 - - 421 - - 801 - - 1181 - - 1381 - - 1467 - - 1499 + - 1500 + - 1501 + - 1502 + - 1503 + - 1504 + - 1505 + - 1506 + - 1507 + - 1508 scope: global - id: 1081 - '1181': + id: 1467 + '1500': crossFilters: chartsInScope: - - 121 - - 161 - - 221 - - 421 - - 801 - - 1081 - - 1381 - 1467 - - 1499 + - 1501 + - 1502 + - 1503 + - 1504 + - 1505 + - 1506 + - 1507 + - 1508 scope: global - id: 1181 - '121': + id: 1500 + '1501': crossFilters: chartsInScope: - - 161 - - 221 - - 421 - - 801 - - 1081 - - 1181 - - 1381 - 1467 - - 1499 + - 1500 + - 1502 + - 1503 + - 1504 + - 1505 + - 1506 + - 1507 + - 1508 scope: global - id: 121 - '1381': + id: 1501 + '1502': crossFilters: chartsInScope: - - 121 - - 161 - - 221 - - 421 - - 801 - - 1081 - - 1181 - 1467 - - 1499 + - 1500 + - 1501 + - 1503 + - 1504 + - 1505 + - 1506 + - 1507 + - 1508 scope: global - id: 1381 - '1467': + id: 1502 + '1503': crossFilters: chartsInScope: - - 121 - - 161 - - 221 - - 421 - - 801 - - 1081 - - 1181 - - 1381 - - 1499 + - 1467 + - 1500 + - 1501 + - 1502 + - 1504 + - 1505 + - 1506 + - 1507 + - 1508 scope: global - id: 1467 - '1499': + id: 1503 + '1504': crossFilters: chartsInScope: - - 121 - - 161 - - 221 - - 421 - - 801 - - 1081 - - 1181 - - 1381 - 1467 + - 1500 + - 1501 + - 1502 + - 1503 + - 1505 + - 1506 + - 1507 + - 1508 scope: global - id: 1499 - '161': + id: 1504 + '1505': crossFilters: chartsInScope: - - 121 - - 221 - - 421 - - 801 - - 1081 - - 1181 - - 1381 - 1467 - - 1499 + - 1500 + - 1501 + - 1502 + - 1503 + - 1504 + - 1506 + - 1507 + - 1508 scope: global - id: 161 - '221': + id: 1505 + '1506': crossFilters: chartsInScope: - - 121 - - 161 - - 421 - - 801 - - 1081 - - 1181 - - 1381 - 1467 - - 1499 + - 1500 + - 1501 + - 1502 + - 1503 + - 1504 + - 1505 + - 1507 + - 1508 scope: global - id: 221 - '421': + id: 1506 + '1507': crossFilters: chartsInScope: - - 121 - - 161 - - 221 - - 801 - - 1081 - - 1181 - - 1381 - 1467 - - 1499 + - 1500 + - 1501 + - 1502 + - 1503 + - 1504 + - 1505 + - 1506 + - 1508 scope: global - id: 421 - '801': + id: 1507 + '1508': crossFilters: chartsInScope: - - 121 - - 161 - - 221 - - 421 - - 1081 - - 1181 - - 1381 - 1467 - - 1499 + - 1500 + - 1501 + - 1502 + - 1503 + - 1504 + - 1505 + - 1506 + - 1507 scope: global - id: 801 + id: 1508 color_scheme: supersetColors color_scheme_domain: - '#1FA8C9' @@ -173,22 +173,22 @@ metadata: cross_filters_enabled: true default_filters: '{}' expanded_slices: - '121': true - '221': true - '421': true - '801': true + '1504': true + '1505': true + '1506': true + '1507': true global_chart_configuration: chartsInScope: - - 121 - - 161 - - 221 - - 421 - - 801 - - 1081 - - 1181 - - 1381 - 1467 - - 1499 + - 1500 + - 1501 + - 1502 + - 1503 + - 1504 + - 1505 + - 1506 + - 1507 + - 1508 scope: excluded: [] rootPath: @@ -346,155 +346,155 @@ metadata: passed: '#666666' timed_refresh_immune_slices: [] position: - CHART-cCvwluYyq5: + CHART-explore-1467-1: children: [] - id: CHART-cCvwluYyq5 + id: CHART-explore-1467-1 meta: - chartId: 1499 + chartId: 1467 height: 50 sliceName: Video Engagement - uuid: 8b0535a8-a43f-49bf-9d50-439a16bd3f74 + uuid: 5b00f792-233c-4ee6-9411-7df49f4b5061 width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - - TAB-GuHDMLqRC - - ROW-ndytg7f9RZ + - TAB-J31MdXj-sa + - ROW-dAYfW3JOym type: CHART - CHART-explore-1273-1: + CHART-explore-1500-1: children: [] - id: CHART-explore-1273-1 + id: CHART-explore-1500-1 meta: - chartId: 1181 - height: 49 + chartId: 1500 + height: 50 sliceName: Course Info - uuid: a433e3cc-8ed5-454a-8b17-5dd75cfc84e4 + uuid: b2fff8a7-3ace-4075-9a3f-5fa5b99f81bb width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - TAB-J31MdXj-sa - - ROW-otbcoXVOj + - ROW-Ixcwhxrj1 type: CHART - CHART-explore-1274-1: + CHART-explore-1501-1: children: [] - id: CHART-explore-1274-1 + id: CHART-explore-1501-1 meta: - chartId: 1381 - height: 49 + chartId: 1501 + height: 50 sliceName: Course Info - uuid: e0098cfe-a312-4c49-8efd-7e74256b6ea4 + uuid: ccdd7d98-4722-490b-a0b2-077380a7c7eb width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - TAB-GuHDMLqRC - - ROW-vepcifelF + - ROW-_txCTpD7V type: CHART - CHART-explore-1275-1: + CHART-explore-1502-1: children: [] - id: CHART-explore-1275-1 + id: CHART-explore-1502-1 meta: - chartId: 421 - height: 67 - sliceName: Learner Performance Breakdown - uuid: 4250c976-a9b7-43ff-b5ad-8dd00a5acef7 + chartId: 1502 + height: 50 + sliceName: Enrollment Counts + uuid: 7eaf5bc2-0067-424b-a50b-607cf54c086a width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - TAB-J31MdXj-sa - - ROW-EDze1WWiC + - ROW-RgmR2MvEK type: CHART - CHART-explore-1276-1: + CHART-explore-1503-1: children: [] - id: CHART-explore-1276-1 + id: CHART-explore-1503-1 meta: - chartId: 801 - height: 67 - sliceName: Learner Performance Breakdown - uuid: 9c3f7291-1bd9-4b2f-abc0-472aad3aff06 + chartId: 1503 + height: 50 + sliceName: Enrollment Counts + uuid: 8230a366-957d-4667-a2ff-3cbcb2f25f60 width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - TAB-GuHDMLqRC - - ROW-O1XuzgpIo + - ROW-bpejHEOdb type: CHART - CHART-explore-1279-1: + CHART-explore-1504-1: children: [] - id: CHART-explore-1279-1 + id: CHART-explore-1504-1 meta: - chartId: 121 - height: 51 - sliceName: Learner Performance - uuid: 4e48b8f9-e757-4263-a9d7-d18018620a24 + chartId: 1504 + height: 50 + sliceName: Learner Performance Breakdown + uuid: b73b0a5c-4861-402e-a39c-d73333a4d911 width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - TAB-J31MdXj-sa - - ROW-y57KZVzDt + - ROW-dwdD7OF9Z type: CHART - CHART-explore-1292-1: + CHART-explore-1505-1: children: [] - id: CHART-explore-1292-1 + id: CHART-explore-1505-1 meta: - chartId: 221 - height: 51 - sliceName: Learner Performance - uuid: dde44a03-649f-4d77-990b-a95be204e1ba + chartId: 1505 + height: 50 + sliceName: Learner Performance Breakdown + uuid: d414b144-467b-456b-b899-9cfb3579faba width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - TAB-GuHDMLqRC - - ROW--27JFXNWc + - ROW-XddLr_99f type: CHART - CHART-explore-1294-1: + CHART-explore-1506-1: children: [] - id: CHART-explore-1294-1 + id: CHART-explore-1506-1 meta: - chartId: 161 - height: 49 - sliceName: Enrollment Counts - uuid: 2f2af8b0-94ae-4300-b71f-3bd7f9fc127c + chartId: 1506 + height: 50 + sliceName: Learner Performance + uuid: b518f341-9ed4-4c23-bb88-6c1d497aa260 width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - TAB-J31MdXj-sa - - ROW-FolfXlYAh + - ROW-hgxCVRi9M type: CHART - CHART-explore-1295-1: + CHART-explore-1507-1: children: [] - id: CHART-explore-1295-1 + id: CHART-explore-1507-1 meta: - chartId: 1081 - height: 49 - sliceName: Enrollment Counts - uuid: bd37be7f-6672-4dca-80ae-a54f69d169da + chartId: 1507 + height: 50 + sliceName: Learner Performance + uuid: b0e170ce-26f1-4452-a3c0-49b41fa6e529 width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - TAB-GuHDMLqRC - - ROW-17CIe_GHN + - ROW-kZVNsJuoh type: CHART - CHART-explore-1467-1: + CHART-explore-1508-1: children: [] - id: CHART-explore-1467-1 + id: CHART-explore-1508-1 meta: - chartId: 1467 + chartId: 1508 height: 50 sliceName: Video Engagement - uuid: 5b00f792-233c-4ee6-9411-7df49f4b5061 + uuid: 6b7610a7-41d0-4d14-be81-62a5a8f22d62 width: 12 parents: - ROOT_ID - TABS-6vozRyRn2o - - TAB-J31MdXj-sa - - ROW-dAYfW3JOym + - TAB-GuHDMLqRC + - ROW-hKzUoke28 type: CHART DASHBOARD_VERSION_KEY: v2 GRID_ID: @@ -513,10 +513,10 @@ position: - TABS-6vozRyRn2o id: ROOT_ID type: ROOT - ROW--27JFXNWc: + ROW--qwRXTzHx: children: - - CHART-explore-1292-1 - id: ROW--27JFXNWc + - CHART-explore-1507-1 + id: ROW--qwRXTzHx meta: background: BACKGROUND_TRANSPARENT parents: @@ -524,54 +524,54 @@ position: - TABS-6vozRyRn2o - TAB-GuHDMLqRC type: ROW - ROW-17CIe_GHN: + ROW-Ixcwhxrj1: children: - - CHART-explore-1295-1 - id: ROW-17CIe_GHN + - CHART-explore-1500-1 + id: ROW-Ixcwhxrj1 meta: background: BACKGROUND_TRANSPARENT parents: - ROOT_ID - TABS-6vozRyRn2o - - TAB-GuHDMLqRC + - TAB-J31MdXj-sa type: ROW - ROW-6K52dxpSv: + ROW-RgmR2MvEK: children: - - CHART-cCvwluYyq5 - id: ROW-6K52dxpSv + - CHART-explore-1502-1 + id: ROW-RgmR2MvEK meta: background: BACKGROUND_TRANSPARENT parents: - ROOT_ID - TABS-6vozRyRn2o - - TAB-GuHDMLqRC + - TAB-J31MdXj-sa type: ROW - ROW-EDze1WWiC: + ROW-XddLr_99f: children: - - CHART-explore-1275-1 - id: ROW-EDze1WWiC + - CHART-explore-1505-1 + id: ROW-XddLr_99f meta: background: BACKGROUND_TRANSPARENT parents: - ROOT_ID - TABS-6vozRyRn2o - - TAB-J31MdXj-sa + - TAB-GuHDMLqRC type: ROW - ROW-FolfXlYAh: + ROW-_txCTpD7V: children: - - CHART-explore-1294-1 - id: ROW-FolfXlYAh + - CHART-explore-1501-1 + id: ROW-_txCTpD7V meta: background: BACKGROUND_TRANSPARENT parents: - ROOT_ID - TABS-6vozRyRn2o - - TAB-J31MdXj-sa + - TAB-GuHDMLqRC type: ROW - ROW-O1XuzgpIo: + ROW-bpejHEOdb: children: - - CHART-explore-1276-1 - id: ROW-O1XuzgpIo + - CHART-explore-1503-1 + id: ROW-bpejHEOdb meta: background: BACKGROUND_TRANSPARENT parents: @@ -592,10 +592,10 @@ position: - TABS-6vozRyRn2o - TAB-J31MdXj-sa type: ROW - ROW-otbcoXVOj: + ROW-dwdD7OF9Z: children: - - CHART-explore-1273-1 - id: ROW-otbcoXVOj + - CHART-explore-1504-1 + id: ROW-dwdD7OF9Z meta: background: BACKGROUND_TRANSPARENT parents: @@ -603,35 +603,35 @@ position: - TABS-6vozRyRn2o - TAB-J31MdXj-sa type: ROW - ROW-vepcifelF: + ROW-hgxCVRi9M: children: - - CHART-explore-1274-1 - id: ROW-vepcifelF + - CHART-explore-1506-1 + id: ROW-hgxCVRi9M meta: background: BACKGROUND_TRANSPARENT parents: - ROOT_ID - TABS-6vozRyRn2o - - TAB-GuHDMLqRC + - TAB-J31MdXj-sa type: ROW - ROW-y57KZVzDt: + ROW-iMG3T4uBu: children: - - CHART-explore-1279-1 - id: ROW-y57KZVzDt + - CHART-explore-1508-1 + id: ROW-iMG3T4uBu meta: background: BACKGROUND_TRANSPARENT parents: - ROOT_ID - TABS-6vozRyRn2o - - TAB-J31MdXj-sa + - TAB-GuHDMLqRC type: ROW TAB-GuHDMLqRC: children: - - ROW-vepcifelF - - ROW-17CIe_GHN - - ROW-O1XuzgpIo - - ROW--27JFXNWc - - ROW-6K52dxpSv + - ROW-_txCTpD7V + - ROW-bpejHEOdb + - ROW-XddLr_99f + - ROW--qwRXTzHx + - ROW-iMG3T4uBu id: TAB-GuHDMLqRC meta: defaultText: Tab title @@ -643,10 +643,10 @@ position: type: TAB TAB-J31MdXj-sa: children: - - ROW-otbcoXVOj - - ROW-FolfXlYAh - - ROW-EDze1WWiC - - ROW-y57KZVzDt + - ROW-Ixcwhxrj1 + - ROW-RgmR2MvEK + - ROW-dwdD7OF9Z + - ROW-hgxCVRi9M - ROW-dAYfW3JOym id: TAB-J31MdXj-sa meta: From 7867629fad5341b8cd9efb5476cdcba515e335ce Mon Sep 17 00:00:00 2001 From: Sara Burns Date: Thu, 12 Sep 2024 10:12:55 -0400 Subject: [PATCH 4/5] fix: upgrade superset and change legend location --- .../Learner_Performance_Breakdown_b73b0a.yaml | 40 ++----------------- .../Learner_Performance_Breakdown_d414b1.yaml | 40 ++----------------- 2 files changed, 6 insertions(+), 74 deletions(-) diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_b73b0a.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_b73b0a.yaml index f551f557d..36bf9a8dc 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_b73b0a.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_b73b0a.yaml @@ -14,25 +14,18 @@ params: subject: enrolled_at annotation_layers: [] color_scheme: supersetColors - comparison_type: values contributionMode: null extra_form_data: {} - forecastInterval: 0.8 - forecastPeriods: 10 groupby: [] legendMargin: null - legendOrientation: bottom + legendOrientation: top legendType: scroll - logAxis: false metrics: - count - passed - active - at_risk - minorSplitLine: false minorTicks: false - only_total: true - order_desc: true orientation: horizontal rich_tooltip: false row_limit: 10 @@ -42,27 +35,17 @@ params: sort_series_ascending: true sort_series_type: name stack: null - tooltipSortByMetric: false tooltipTimeFormat: smart_date truncateXAxis: false - truncateYAxis: false truncate_metric: false viz_type: echarts_timeseries_bar xAxisLabelRotation: 0 x_axis: course_name - x_axis_sort_asc: true x_axis_sort_series: sum x_axis_sort_series_ascending: false x_axis_time_format: smart_date x_axis_title: '' x_axis_title_margin: 15 - y_axis_bounds: - - null - - null - y_axis_format: SMART_NUMBER - y_axis_title: '' - y_axis_title_margin: 15 - y_axis_title_position: Left zoomable: false query_context: datasource: @@ -78,29 +61,22 @@ query_context: subject: enrolled_at annotation_layers: [] color_scheme: supersetColors - comparison_type: values contributionMode: null dashboards: - - 3141 + - 3441 datasource: 464__table extra_form_data: {} force: false - forecastInterval: 0.8 - forecastPeriods: 10 groupby: [] legendMargin: null - legendOrientation: bottom + legendOrientation: top legendType: scroll - logAxis: false metrics: - count - passed - active - at_risk - minorSplitLine: false minorTicks: false - only_total: true - order_desc: true orientation: horizontal result_format: json result_type: full @@ -113,27 +89,17 @@ query_context: sort_series_ascending: true sort_series_type: name stack: null - tooltipSortByMetric: false tooltipTimeFormat: smart_date truncateXAxis: false - truncateYAxis: false truncate_metric: false viz_type: echarts_timeseries_bar xAxisLabelRotation: 0 x_axis: course_name - x_axis_sort_asc: true x_axis_sort_series: sum x_axis_sort_series_ascending: false x_axis_time_format: smart_date x_axis_title: '' x_axis_title_margin: 15 - y_axis_bounds: - - null - - null - y_axis_format: SMART_NUMBER - y_axis_title: '' - y_axis_title_margin: 15 - y_axis_title_position: Left zoomable: false queries: - annotation_layers: [] diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_d414b1.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_d414b1.yaml index bc231dca6..43f8b4606 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_d414b1.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Performance_Breakdown_d414b1.yaml @@ -19,25 +19,18 @@ params: subject: enrolled_at annotation_layers: [] color_scheme: supersetColors - comparison_type: values contributionMode: null extra_form_data: {} - forecastInterval: 0.8 - forecastPeriods: 10 groupby: [] legendMargin: 0 - legendOrientation: bottom + legendOrientation: top legendType: scroll - logAxis: false metrics: - passed - count - at_risk - active - minorSplitLine: false minorTicks: false - only_total: true - order_desc: true orientation: horizontal rich_tooltip: false row_limit: 10 @@ -48,27 +41,17 @@ params: sort_series_type: name stack: null timeseries_limit_metric: null - tooltipSortByMetric: false tooltipTimeFormat: smart_date truncateXAxis: false - truncateYAxis: false truncate_metric: true viz_type: echarts_timeseries_bar xAxisLabelRotation: 0 x_axis: course_run - x_axis_sort_asc: true x_axis_sort_series: name x_axis_sort_series_ascending: true x_axis_time_format: smart_date x_axis_title: '' x_axis_title_margin: 15 - y_axis_bounds: - - null - - null - y_axis_format: SMART_NUMBER - y_axis_title: '' - y_axis_title_margin: 15 - y_axis_title_position: Left zoomable: false query_context: datasource: @@ -89,29 +72,22 @@ query_context: subject: enrolled_at annotation_layers: [] color_scheme: supersetColors - comparison_type: values contributionMode: null dashboards: - - 3141 + - 3441 datasource: 464__table extra_form_data: {} force: false - forecastInterval: 0.8 - forecastPeriods: 10 groupby: [] legendMargin: 0 - legendOrientation: bottom + legendOrientation: top legendType: scroll - logAxis: false metrics: - passed - count - at_risk - active - minorSplitLine: false minorTicks: false - only_total: true - order_desc: true orientation: horizontal result_format: json result_type: full @@ -125,27 +101,17 @@ query_context: sort_series_type: name stack: null timeseries_limit_metric: null - tooltipSortByMetric: false tooltipTimeFormat: smart_date truncateXAxis: false - truncateYAxis: false truncate_metric: true viz_type: echarts_timeseries_bar xAxisLabelRotation: 0 x_axis: course_run - x_axis_sort_asc: true x_axis_sort_series: name x_axis_sort_series_ascending: true x_axis_time_format: smart_date x_axis_title: '' x_axis_title_margin: 15 - y_axis_bounds: - - null - - null - y_axis_format: SMART_NUMBER - y_axis_title: '' - y_axis_title_margin: 15 - y_axis_title_position: Left zoomable: false queries: - annotation_layers: [] From ab59aad4bab7fa5863862517669edc58011c8cee Mon Sep 17 00:00:00 2001 From: Sara Burns Date: Thu, 12 Sep 2024 10:14:30 -0400 Subject: [PATCH 5/5] fix: upgrade superset --- .../templates/aspects/build/aspects-superset/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutoraspects/templates/aspects/build/aspects-superset/Dockerfile b/tutoraspects/templates/aspects/build/aspects-superset/Dockerfile index 1ebc30fdd..a8c1bcaef 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/Dockerfile +++ b/tutoraspects/templates/aspects/build/aspects-superset/Dockerfile @@ -3,7 +3,7 @@ # https://github.com/apache/superset/releases # https://github.com/apache/superset/blob/master/Dockerfile # https://superset.apache.org/docs/databases/installing-database-drivers -FROM apache/superset:4.0.1 +FROM apache/superset:4.0.2 USER root