From ca06d3a15016d073e49d159a9a899399c49c2699 Mon Sep 17 00:00:00 2001 From: Cristhian Garcia Date: Fri, 24 May 2024 15:04:42 -0500 Subject: [PATCH 1/3] feat: serialize query_context as json for redability --- tutoraspects/asset_command_helpers.py | 4 + .../pythonpath/performance_metrics.py | 2 +- .../assets/charts/Active_Courses.yaml | 131 +++++++++- .../assets/charts/Active_Learners.yaml | 135 +++++++++- ...t-risk_Enrollees_per_Enrollment_Track.yaml | 167 ++++++++++++- .../charts/At-risk_Enrollment_Dates.yaml | 168 ++++++++++++- .../assets/charts/At-risk_learners.yaml | 148 ++++++++++- .../assets/charts/Course_Information.yaml | 82 +++++- .../Cumulative_Enrollments_by_Track.yaml | 129 +++++++++- .../charts/Cumulative_Interactions.yaml | 121 ++++++++- .../Cumulative_Interactions_at-risk.yaml | 236 ++++++++++++++++-- .../assets/charts/Current_Enrollees.yaml | 72 +++++- .../charts/Distribution_of_Course_Grades.yaml | 170 ++++++++++++- .../Distribution_of_Current_Course_Grade.yaml | 90 ++++++- .../Enrollees_per_Enrollment_Track.yaml | 121 ++++++++- .../assets/charts/Event_Activity.yaml | 128 +++++++++- .../Evolution_of_Engagement_at-risk.yaml | 236 ++++++++++++++++-- .../charts/Evolution_of_engagement.yaml | 113 ++++++++- .../assets/charts/Last_visit_date.yaml | 170 ++++++++++++- .../assets/charts/Learner_Summary.yaml | 215 ++++++++++++---- .../charts/Learners_with_Passing_Grade.yaml | 76 ++++-- .../assets/charts/Page_views_per_section.yaml | 84 ++++++- .../Page_views_per_section_subsection.yaml | 116 ++++++++- ..._views_per_section_subsection_at-risk.yaml | 139 ++++++++++- .../charts/Page_views_per_subsection.yaml | 95 ++++++- ...tial_and_Full_Views_Per_Video_at-risk.yaml | 143 ++++++++++- .../Partial_and_full_views_per_video.yaml | 103 +++++++- ...artial_and_full_views_per_video_table.yaml | 69 ++++- .../charts/Problem_Interactions_at-risk.yaml | 180 ++++++++++++- .../assets/charts/Problem_Results.yaml | 145 ++++++++--- .../charts/Problem_Results_at-risk.yaml | 173 +++++++++++-- .../assets/charts/Problem_interactions.yaml | 164 +++++++++--- .../Problems_attempted_per_section.yaml | 100 +++++++- ...lems_attempted_per_section_subsection.yaml | 113 ++++++++- ...empted_per_section_subsection_at-risk.yaml | 139 ++++++++++- .../Problems_attempted_per_subsection.yaml | 100 +++++++- .../assets/charts/Section_Summary.yaml | 97 +++++-- .../charts/Section_Summary_at-risk.yaml | 194 +++++++++++++- .../assets/charts/Subsection_Summary.yaml | 99 ++++++-- .../charts/Subsection_Summary_at-risk.yaml | 197 ++++++++++++++- ...o_Views_by_Section_Subsection_at-risk.yaml | 87 ++++++- ..._Views_per_Section_Subsection_at-risk.yaml | 139 ++++++++++- .../Video_views_by_section_subsection.yaml | 136 +++++++--- .../charts/Video_views_per_section.yaml | 100 +++++++- .../Video_views_per_section_subsection.yaml | 113 ++++++++- .../charts/Video_views_per_subsection.yaml | 100 +++++++- .../assets/charts/Watched_Video_Segments.yaml | 118 ++++++++- .../Watched_Video_Segments_at-risk.yaml | 110 +++++++- .../assets/dashboards/At-Risk_Learners.yaml | 37 ++- .../assets/dashboards/Course_Dashboard.yaml | 64 ++--- .../assets/dashboards/Individual_Learner.yaml | 31 ++- .../assets/dashboards/Operator_Dashboard.yaml | 66 ++--- .../datasets/fact_at_risk_video_watches.yaml | 24 +- .../assets/datasets/fact_instance_actors.yaml | 2 +- .../datasets/fact_instance_courses.yaml | 4 +- .../datasets/fact_instance_enrollments.yaml | 6 +- .../assets/datasets/fact_instance_events.yaml | 4 +- .../assets/datasets/fact_student_status.yaml | 14 +- .../assets/datasets/fact_video_watches.yaml | 24 +- .../assets/datasets/superset_action_log.yaml | 2 +- 60 files changed, 5780 insertions(+), 565 deletions(-) diff --git a/tutoraspects/asset_command_helpers.py b/tutoraspects/asset_command_helpers.py index b0a6e83d9..51a46539e 100644 --- a/tutoraspects/asset_command_helpers.py +++ b/tutoraspects/asset_command_helpers.py @@ -5,6 +5,7 @@ import glob import os import re +import json from zipfile import ZipFile import click @@ -171,6 +172,9 @@ class ChartAsset(Asset): def process(self, content: dict, existing: dict): if not content.get("query_context"): content["query_context"] = existing.get("query_context") + query_context = content["query_context"] + if query_context is not None and isinstance(query_context, str): + content["query_context"] = json.loads(query_context) class DashboardAsset(Asset): diff --git a/tutoraspects/templates/aspects/apps/superset/pythonpath/performance_metrics.py b/tutoraspects/templates/aspects/apps/superset/pythonpath/performance_metrics.py index 54fb0f577..c361b9e85 100644 --- a/tutoraspects/templates/aspects/apps/superset/pythonpath/performance_metrics.py +++ b/tutoraspects/templates/aspects/apps/superset/pythonpath/performance_metrics.py @@ -140,7 +140,7 @@ def get_query_contexts_from_assets(): with open(path, "r") as file: asset = yaml.safe_load(file) if "query_context" in asset and asset["query_context"]: - query_contexts[asset["uuid"]] = json.loads(asset["query_context"]) + query_contexts[asset["uuid"]] = asset["query_context"] logger.info(f"Found {len(query_contexts)} query contexts") return query_contexts diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Active_Courses.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Active_Courses.yaml index 8e33a066c..7132ee235 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Active_Courses.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Active_Courses.yaml @@ -59,13 +59,130 @@ params: y_axis_title_margin: 15 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":829,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_hour","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"emission_hour","label":"emission_hour","expressionType":"SQL"}],"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Active - Courses","optionName":"metric_hvxlgfij23e_68a6guxh855","sqlExpression":"uniqCombinedMerge(courses_cnt)"}],"orderby":[[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Active - Courses","optionName":"metric_hvxlgfij23e_68a6guxh855","sqlExpression":"uniqCombinedMerge(courses_cnt)"},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["emission_hour"],"columns":[],"aggregates":{"Active - Courses":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"829__table","viz_type":"echarts_timeseries_line","slice_id":3402,"x_axis":"emission_hour","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Active - Courses","optionName":"metric_hvxlgfij23e_68a6guxh855","sqlExpression":"uniqCombinedMerge(courses_cnt)"}],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"emission_hour"}],"order_desc":true,"row_limit":10000,"truncate_metric":false,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","seriesType":"line","only_total":true,"opacity":0.2,"markerEnabled":false,"markerSize":6,"zoomable":true,"show_legend":false,"legendType":"scroll","legendOrientation":"top","legendMargin":null,"x_axis_time_format":"%Y-%m-%d","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":"SMART_NUMBER","truncateXAxis":false,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[2422],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 829 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_hour + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 2422 + datasource: 829__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: null + legendOrientation: top + legendType: scroll + markerEnabled: false + markerSize: 6 + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Active Courses + optionName: metric_hvxlgfij23e_68a6guxh855 + sqlExpression: uniqCombinedMerge(courses_cnt) + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + seriesType: line + show_empty_columns: true + show_legend: false + slice_id: 3402 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: false + truncate_metric: false + viz_type: echarts_timeseries_line + x_axis: emission_hour + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: '%Y-%m-%d' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: emission_hour + sqlExpression: emission_hour + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_hour + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Active Courses + optionName: metric_hvxlgfij23e_68a6guxh855 + sqlExpression: uniqCombinedMerge(courses_cnt) + order_desc: true + orderby: + - - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Active Courses + optionName: metric_hvxlgfij23e_68a6guxh855 + sqlExpression: uniqCombinedMerge(courses_cnt) + - false + post_processing: + - operation: pivot + options: + aggregates: + Active Courses: + operator: mean + columns: [] + drop_missing_columns: false + index: + - emission_hour + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Active Courses uuid: 138eb72a-f73f-42b5-96d6-3417715c3519 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Active_Learners.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Active_Learners.yaml index 2a48760a4..75b811207 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Active_Learners.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Active_Learners.yaml @@ -63,13 +63,134 @@ params: y_axis_title_margin: 15 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":84,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_hour","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"emission_hour","label":"emission_hour","expressionType":"SQL"}],"metrics":[{"expressionType":"SQL","sqlExpression":"uniqCombinedMerge(actors_cnt)","column":null,"aggregate":null,"datasourceWarning":false,"hasCustomLabel":true,"label":"Active - Learners","optionName":"metric_hvxlgfij23e_68a6guxh855"}],"orderby":[[{"expressionType":"SQL","sqlExpression":"uniqCombinedMerge(actors_cnt)","column":null,"aggregate":null,"datasourceWarning":false,"hasCustomLabel":true,"label":"Active - Learners","optionName":"metric_hvxlgfij23e_68a6guxh855"},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["emission_hour"],"columns":[],"aggregates":{"Active - Learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"84__table","viz_type":"echarts_timeseries_line","slice_id":3403,"x_axis":"emission_hour","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"expressionType":"SQL","sqlExpression":"uniqCombinedMerge(actors_cnt)","column":null,"aggregate":null,"datasourceWarning":false,"hasCustomLabel":true,"label":"Active - Learners","optionName":"metric_hvxlgfij23e_68a6guxh855"}],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"emission_hour"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","seriesType":"line","only_total":true,"area":false,"opacity":0.2,"markerEnabled":false,"markerSize":6,"zoomable":true,"minorTicks":false,"show_legend":false,"legendType":"scroll","legendOrientation":"top","legendMargin":null,"x_axis_time_format":"%Y-%m-%d","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":"SMART_NUMBER","minorSplitLine":false,"truncateXAxis":false,"truncateYAxis":false,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[2422],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 84 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_hour + annotation_layers: [] + area: false + color_scheme: supersetColors + comparison_type: values + dashboards: + - 2422 + datasource: 84__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: null + legendOrientation: top + legendType: scroll + markerEnabled: false + markerSize: 6 + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Active Learners + optionName: metric_hvxlgfij23e_68a6guxh855 + sqlExpression: uniqCombinedMerge(actors_cnt) + minorSplitLine: false + minorTicks: false + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + seriesType: line + show_empty_columns: true + show_legend: false + slice_id: 3403 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: false + truncateYAxis: false + truncate_metric: true + viz_type: echarts_timeseries_line + x_axis: emission_hour + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: '%Y-%m-%d' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: emission_hour + sqlExpression: emission_hour + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_hour + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Active Learners + optionName: metric_hvxlgfij23e_68a6guxh855 + sqlExpression: uniqCombinedMerge(actors_cnt) + order_desc: true + orderby: + - - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Active Learners + optionName: metric_hvxlgfij23e_68a6guxh855 + sqlExpression: uniqCombinedMerge(actors_cnt) + - false + post_processing: + - operation: pivot + options: + aggregates: + Active Learners: + operator: mean + columns: [] + drop_missing_columns: false + index: + - emission_hour + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Active Learners uuid: b9b602ec-001b-4584-aa24-9201f3b8746f version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_Enrollees_per_Enrollment_Track.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_Enrollees_per_Enrollment_Track.yaml index 0eeb6358a..a43d024c7 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_Enrollees_per_Enrollment_Track.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_Enrollees_per_Enrollment_Track.yaml @@ -65,14 +65,165 @@ params: y_axis_format: SMART_NUMBER y_axis_title_margin: 15 y_axis_title_position: Left -query_context: '{"datasource":{"id":1180,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"enrollment_mode","label":"enrollment_mode","expressionType":"SQL"}],"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_83n2xhwdm4x_srfoil9owpn","sqlExpression":null}],"orderby":[[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_83n2xhwdm4x_srfoil9owpn","sqlExpression":null},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["enrollment_mode"],"columns":[],"aggregates":{"Number - of Learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1180__table","viz_type":"echarts_timeseries_bar","slice_id":2168,"x_axis":"enrollment_mode","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_83n2xhwdm4x_srfoil9owpn","sqlExpression":null}],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1180 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1180__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_83n2xhwdm4x_srfoil9owpn + sqlExpression: null + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2168 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + x_axis: enrollment_mode + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title_margin: 15 + y_axis_title_position: Left + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: enrollment_mode + sqlExpression: enrollment_mode + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_83n2xhwdm4x_srfoil9owpn + sqlExpression: null + order_desc: true + orderby: + - - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_83n2xhwdm4x_srfoil9owpn + sqlExpression: null + - false + post_processing: + - operation: pivot + options: + aggregates: + Number of Learners: + operator: mean + columns: [] + drop_missing_columns: false + index: + - enrollment_mode + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: At-risk Enrollees per Enrollment Track uuid: f8beeb8c-b35c-47fc-8370-96b493f9c1b8 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_Enrollment_Dates.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_Enrollment_Dates.yaml index 3fcd8ce89..fcf9335c4 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_Enrollment_Dates.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_Enrollment_Dates.yaml @@ -66,14 +66,166 @@ params: y_axis_format: SMART_NUMBER y_axis_title_margin: 15 y_axis_title_position: Left -query_context: '{"datasource":{"id":1180,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"enrolled_at","label":"enrolled_at","expressionType":"SQL"}],"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_z7m68c6u4i_vpbb6m45cl","sqlExpression":null}],"orderby":[[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_z7m68c6u4i_vpbb6m45cl","sqlExpression":null},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["enrolled_at"],"columns":[],"aggregates":{"Number - of Learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1180__table","viz_type":"echarts_timeseries_bar","slice_id":2785,"x_axis":"enrolled_at","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_z7m68c6u4i_vpbb6m45cl","sqlExpression":null}],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"%Y-%m-%d","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1180 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1180__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_z7m68c6u4i_vpbb6m45cl + sqlExpression: null + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2785 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 45 + x_axis: enrolled_at + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: '%Y-%m-%d' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title_margin: 15 + y_axis_title_position: Left + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: enrolled_at + sqlExpression: enrolled_at + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_z7m68c6u4i_vpbb6m45cl + sqlExpression: null + order_desc: true + orderby: + - - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_z7m68c6u4i_vpbb6m45cl + sqlExpression: null + - false + post_processing: + - operation: pivot + options: + aggregates: + Number of Learners: + operator: mean + columns: [] + drop_missing_columns: false + index: + - enrolled_at + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: At-risk Enrollment Dates uuid: ded61855-48ea-4705-9385-690bf7dba53b version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_learners.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_learners.yaml index b8df7b306..7c0a34bd5 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_learners.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/At-risk_learners.yaml @@ -7,6 +7,7 @@ description: null params: adhoc_filters: [] all_columns: [] + annotation_layers: [] color_pn: true extra_form_data: {} groupby: @@ -53,15 +54,144 @@ params: optionName: metric_0woj6b3chi2_ihsomqnfpk9 sqlExpression: null viz_type: table -query_context: '{"datasource":{"id":991,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["name","username","email",{"expressionType":"SQL","label":"Course - Grade %","sqlExpression":"round(course_grade*100, 2)"},"last_visited"],"metrics":[],"orderby":[[{"aggregate":"MAX","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"course_grade","description":null,"expression":null,"filterable":true,"groupby":true,"id":10990,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"Float64","type_generic":0,"verbose_name":"Course - Grade","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"MAX(Course - Grade)","optionName":"metric_0woj6b3chi2_ihsomqnfpk9","sqlExpression":null},false]],"annotation_layers":[],"row_limit":5000,"series_limit":0,"series_limit_metric":{"aggregate":"MAX","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"course_grade","description":null,"expression":null,"filterable":true,"groupby":true,"id":10990,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"Float64","type_generic":0,"verbose_name":"Course - Grade","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"MAX(Course - Grade)","optionName":"metric_0woj6b3chi2_ihsomqnfpk9","sqlExpression":null},"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"991__table","viz_type":"table","slice_id":4124,"query_mode":"aggregate","groupby":["name","username","email",{"expressionType":"SQL","label":"Course - Grade %","sqlExpression":"round(course_grade*100, 2)"},"last_visited"],"time_grain_sqla":"P1D","temporal_columns_lookup":{},"all_columns":[],"percent_metrics":[],"adhoc_filters":[],"timeseries_limit_metric":{"aggregate":"MAX","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"course_grade","description":null,"expression":null,"filterable":true,"groupby":true,"id":10990,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"Float64","type_generic":0,"verbose_name":"Course - Grade","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"MAX(Course - Grade)","optionName":"metric_0woj6b3chi2_ihsomqnfpk9","sqlExpression":null},"order_by_cols":[],"row_limit":5000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"extra_form_data":{},"dashboards":[5608],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 991 + type: table + force: false + form_data: + adhoc_filters: [] + all_columns: [] + color_pn: true + dashboards: + - 5608 + datasource: 991__table + extra_form_data: {} + force: false + groupby: + - name + - username + - email + - expressionType: SQL + label: Course Grade % + sqlExpression: round(course_grade*100, 2) + - last_visited + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 5000 + server_page_length: 10 + show_cell_bars: true + slice_id: 4124 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1D + timeseries_limit_metric: + aggregate: MAX + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: course_grade + description: null + expression: null + filterable: true + groupby: true + id: 10990 + is_certified: false + is_dttm: false + python_date_format: null + type: Float64 + type_generic: 0 + verbose_name: Course Grade + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: false + label: MAX(Course Grade) + optionName: metric_0woj6b3chi2_ihsomqnfpk9 + sqlExpression: null + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - name + - username + - email + - expressionType: SQL + label: Course Grade % + sqlExpression: round(course_grade*100, 2) + - last_visited + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: [] + order_desc: true + orderby: + - - aggregate: MAX + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: course_grade + description: null + expression: null + filterable: true + groupby: true + id: 10990 + is_certified: false + is_dttm: false + python_date_format: null + type: Float64 + type_generic: 0 + verbose_name: Course Grade + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: false + label: MAX(Course Grade) + optionName: metric_0woj6b3chi2_ihsomqnfpk9 + sqlExpression: null + - false + post_processing: [] + row_limit: 5000 + series_limit: 0 + series_limit_metric: + aggregate: MAX + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: course_grade + description: null + expression: null + filterable: true + groupby: true + id: 10990 + is_certified: false + is_dttm: false + python_date_format: null + type: Float64 + type_generic: 0 + verbose_name: Course Grade + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: false + label: MAX(Course Grade) + optionName: metric_0woj6b3chi2_ihsomqnfpk9 + sqlExpression: null + url_params: {} + result_format: json + result_type: full slice_name: At-risk learners uuid: 447a194b-dbed-4a82-a899-2df8e01e84b1 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Information.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Information.yaml index f0852c278..c3f7aff1c 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Information.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Information.yaml @@ -7,6 +7,7 @@ description: null params: adhoc_filters: [] all_columns: [] + annotation_layers: [] color_pn: true column_config: Avg Course Grade: @@ -67,9 +68,84 @@ params: temporal_columns_lookup: {} time_grain_sqla: P1D viz_type: table -query_context: '{"datasource":{"id":282,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["org","course_key","course_name","course_run"],"metrics":["graded_learners","avg_course_grade","median_course_grade"],"orderby":[["graded_learners",false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"282__table","viz_type":"table","slice_id":528,"query_mode":"aggregate","groupby":["org","course_key","course_name","course_run"],"time_grain_sqla":"P1D","temporal_columns_lookup":{},"metrics":["graded_learners","avg_course_grade","median_course_grade"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"column_config":{"Avg - Course Grade":{"d3NumberFormat":"~g","d3SmallNumberFormat":"~g"},"Median Course - Grade":{"d3NumberFormat":"~g","d3SmallNumberFormat":"~g"}},"conditional_formatting":[{"column":"graded_learners","colorScheme":"#ACE1C4","operator":">","targetValue":0}],"extra_form_data":{},"dashboards":[629],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 282 + type: table + force: false + form_data: + adhoc_filters: [] + all_columns: [] + color_pn: true + column_config: + Avg Course Grade: + d3NumberFormat: ~g + d3SmallNumberFormat: ~g + Median Course Grade: + d3NumberFormat: ~g + d3SmallNumberFormat: ~g + conditional_formatting: + - colorScheme: '#ACE1C4' + column: graded_learners + operator: '>' + targetValue: 0 + dashboards: + - 629 + datasource: 282__table + extra_form_data: {} + force: false + groupby: + - org + - course_key + - course_name + - course_run + metrics: + - graded_learners + - avg_course_grade + - median_course_grade + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 528 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - org + - course_key + - course_name + - course_run + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - graded_learners + - avg_course_grade + - median_course_grade + order_desc: true + orderby: + - - graded_learners + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Course Information uuid: fa249dda-78da-4ccc-9ef3-39177e6aae0c version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Enrollments_by_Track.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Enrollments_by_Track.yaml index 2f596638d..55a5e3b31 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Enrollments_by_Track.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Enrollments_by_Track.yaml @@ -61,9 +61,132 @@ params: y_axis_title_margin: 15 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":424,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_time","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","sqlExpression":"emission_time","label":"emission_time","expressionType":"SQL"},"enrollment_mode"],"metrics":["number_of_learners"],"orderby":[["number_of_learners",false]],"annotation_layers":[],"row_limit":10000,"series_columns":["enrollment_mode"],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["emission_time"],"columns":["enrollment_mode"],"aggregates":{"number_of_learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"cum","options":{"operator":"sum","columns":{"number_of_learners":"number_of_learners"}}},{"operation":"rename","options":{"columns":{"number_of_learners":null},"level":0,"inplace":true}},{"operation":"flatten"}]}],"form_data":{"datasource":"424__table","viz_type":"echarts_area","slice_id":439,"x_axis":"emission_time","time_grain_sqla":"P1M","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["number_of_learners"],"groupby":["enrollment_mode"],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_utjjqw9427d_5p5ur7mob2","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","sqlExpression":null,"subject":"emission_time"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"rolling_type":"cumsum","comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","seriesType":"line","opacity":0.2,"show_value":false,"only_total":true,"show_extra_controls":false,"markerEnabled":true,"markerSize":6,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","legendMargin":null,"x_axis_time_format":"smart_date","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":"~g","truncateXAxis":true,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[629],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 424 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_utjjqw9427d_5p5ur7mob2 + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 629 + datasource: 424__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: + - enrollment_mode + legendMargin: null + legendOrientation: top + legendType: scroll + markerEnabled: true + markerSize: 6 + metrics: + - number_of_learners + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + rolling_type: cumsum + row_limit: 10000 + seriesType: line + show_empty_columns: true + show_extra_controls: false + show_legend: true + show_value: false + slice_id: 439 + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_area + x_axis: emission_time + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: ~g + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: emission_time + sqlExpression: emission_time + timeGrain: P1M + - enrollment_mode + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - number_of_learners + order_desc: true + orderby: + - - number_of_learners + - false + post_processing: + - operation: pivot + options: + aggregates: + number_of_learners: + operator: mean + columns: + - enrollment_mode + drop_missing_columns: false + index: + - emission_time + - operation: cum + options: + columns: + number_of_learners: number_of_learners + operator: sum + - operation: rename + options: + columns: + number_of_learners: null + inplace: true + level: 0 + - operation: flatten + row_limit: 10000 + series_columns: + - enrollment_mode + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Cumulative Enrollments by Track uuid: f207c896-030a-462b-b69f-6416230d50b6 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Interactions.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Interactions.yaml index b3988ca1d..92da29529 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Interactions.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Interactions.yaml @@ -56,9 +56,124 @@ params: y_axis_title_margin: 15 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":61,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","sqlExpression":"visited_on","label":"visited_on","expressionType":"SQL"}],"metrics":["views","number_of_learners"],"orderby":[["views",false]],"annotation_layers":[],"row_limit":1000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["visited_on"],"columns":[],"aggregates":{"views":{"operator":"mean"},"number_of_learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"cum","options":{"operator":"sum","columns":{"views":"views","number_of_learners":"number_of_learners"}}},{"operation":"flatten"}]}],"form_data":{"datasource":"61__table","viz_type":"echarts_timeseries_line","slice_id":140,"x_axis":"visited_on","time_grain_sqla":"P1M","xAxisForceCategorical":true,"x_axis_sort":"Views","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["views","number_of_learners"],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"visited_on"}],"order_desc":true,"row_limit":1000,"truncate_metric":true,"show_empty_columns":true,"rolling_type":"cumsum","comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","sort_series_ascending":true,"color_scheme":"supersetColors","seriesType":"line","show_value":false,"only_total":true,"opacity":0.2,"markerEnabled":true,"markerSize":7,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","legendMargin":null,"x_axis_time_format":"smart_date","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":",d","truncateXAxis":true,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[629],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 61 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 629 + datasource: 61__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: null + legendOrientation: top + legendType: scroll + markerEnabled: true + markerSize: 7 + metrics: + - views + - number_of_learners + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + rolling_type: cumsum + row_limit: 1000 + seriesType: line + show_empty_columns: true + show_legend: true + show_value: false + slice_id: 140 + sort_series_ascending: true + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_line + xAxisForceCategorical: true + x_axis: visited_on + x_axis_sort: Views + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: ',d' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: visited_on + sqlExpression: visited_on + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - views + - number_of_learners + order_desc: true + orderby: + - - views + - false + post_processing: + - operation: pivot + options: + aggregates: + number_of_learners: + operator: mean + views: + operator: mean + columns: [] + drop_missing_columns: false + index: + - visited_on + - operation: cum + options: + columns: + number_of_learners: number_of_learners + views: views + operator: sum + - operation: flatten + row_limit: 1000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Cumulative Interactions uuid: c44e43b5-ba69-4805-8d01-3b04dcbf2cb6 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Interactions_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Interactions_at-risk.yaml index e62f8c8a4..f2b0e6e9a 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Interactions_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Cumulative_Interactions_at-risk.yaml @@ -99,20 +99,228 @@ params: y_axis_title_margin: 15 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":1228,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","sqlExpression":"visited_on","label":"visited_on","expressionType":"SQL"}],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Views","optionName":"metric_pydx11wjnw_8z80flv3i5f","sqlExpression":null},{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Learners","optionName":"metric_w4k3yirnsj_hatijp1t74p","sqlExpression":null}],"orderby":[[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Views","optionName":"metric_pydx11wjnw_8z80flv3i5f","sqlExpression":null},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["visited_on"],"columns":[],"aggregates":{"Total - Views":{"operator":"mean"},"Total Learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1228__table","viz_type":"echarts_timeseries_line","slice_id":2209,"x_axis":"visited_on","time_grain_sqla":"P1M","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Views","optionName":"metric_pydx11wjnw_8z80flv3i5f","sqlExpression":null},{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Learners","optionName":"metric_w4k3yirnsj_hatijp1t74p","sqlExpression":null}],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"visited_on"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","sort_series_ascending":true,"color_scheme":"supersetColors","seriesType":"line","only_total":true,"opacity":0.2,"markerEnabled":true,"markerSize":6,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":",d","truncateXAxis":true,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1228 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1228__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + markerEnabled: true + markerSize: 6 + metrics: + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Views + optionName: metric_pydx11wjnw_8z80flv3i5f + sqlExpression: null + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Learners + optionName: metric_w4k3yirnsj_hatijp1t74p + sqlExpression: null + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + seriesType: line + show_empty_columns: true + show_legend: true + slice_id: 2209 + sort_series_ascending: true + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_line + x_axis: visited_on + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: ',d' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: visited_on + sqlExpression: visited_on + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Views + optionName: metric_pydx11wjnw_8z80flv3i5f + sqlExpression: null + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Learners + optionName: metric_w4k3yirnsj_hatijp1t74p + sqlExpression: null + order_desc: true + orderby: + - - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Views + optionName: metric_pydx11wjnw_8z80flv3i5f + sqlExpression: null + - false + post_processing: + - operation: pivot + options: + aggregates: + Total Learners: + operator: mean + Total Views: + operator: mean + columns: [] + drop_missing_columns: false + index: + - visited_on + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Cumulative Interactions (at-risk) uuid: 3a22091f-4686-4a1d-a66d-b36541844b36 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Current_Enrollees.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Current_Enrollees.yaml index 77bfe2188..5b3753414 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Current_Enrollees.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Current_Enrollees.yaml @@ -28,6 +28,7 @@ params: operatorId: IN sqlExpression: null subject: enrollment_status + annotation_layers: [] conditional_formatting: [] extra_form_data: {} header_font_size: 0.4 @@ -36,9 +37,74 @@ params: time_format: smart_date viz_type: big_number_total y_axis_format: ',d' -query_context: '{"datasource":{"id":271,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_time","op":"TEMPORAL_RANGE","val":"No - filter"},{"col":"enrollment_status","op":"IN","val":["registered"]}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":["number_of_learners"],"annotation_layers":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"271__table","viz_type":"big_number_total","slice_id":229,"metric":"number_of_learners","adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_w289d0y7sjh_5e8k4qfsgou","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","sqlExpression":null,"subject":"emission_time"},{"clause":"WHERE","comparator":["registered"],"datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_ft5qci1uk74_ejjj76o6scl","isExtra":false,"isNew":false,"operator":"IN","operatorId":"IN","sqlExpression":null,"subject":"enrollment_status"}],"header_font_size":0.4,"subheader_font_size":0.2,"y_axis_format":",d","time_format":"smart_date","conditional_formatting":[],"extra_form_data":{},"dashboards":[629],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 271 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_w289d0y7sjh_5e8k4qfsgou + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + - clause: WHERE + comparator: + - registered + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_ft5qci1uk74_ejjj76o6scl + isExtra: false + isNew: false + operator: IN + operatorId: IN + sqlExpression: null + subject: enrollment_status + conditional_formatting: [] + dashboards: + - 629 + datasource: 271__table + extra_form_data: {} + force: false + header_font_size: 0.4 + metric: number_of_learners + result_format: json + result_type: full + slice_id: 229 + subheader_font_size: 0.2 + time_format: smart_date + viz_type: big_number_total + y_axis_format: ',d' + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: [] + custom_form_data: {} + custom_params: {} + extras: + having: '' + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + - col: enrollment_status + op: IN + val: + - registered + metrics: + - number_of_learners + order_desc: true + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Current Enrollees uuid: 00de2f72-b3ed-4994-b231-fd3cf29d758d version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Distribution_of_Course_Grades.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Distribution_of_Course_Grades.yaml index 827042a44..1c0687015 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Distribution_of_Course_Grades.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Distribution_of_Course_Grades.yaml @@ -67,15 +67,167 @@ params: y_axis_title: Number of Learners y_axis_title_margin: 30 y_axis_title_position: Left -query_context: '{"datasource":{"id":1180,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"grade_bucket","label":"grade_bucket","expressionType":"SQL"}],"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_339trgmf439_uyz1qjvy3z9","sqlExpression":null}],"orderby":[[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_339trgmf439_uyz1qjvy3z9","sqlExpression":null},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["grade_bucket"],"columns":[],"aggregates":{"Number - of Learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1180__table","viz_type":"echarts_timeseries_bar","slice_id":2805,"x_axis":"grade_bucket","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_339trgmf439_uyz1qjvy3z9","sqlExpression":null}],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title":"Grade - Bucket","x_axis_title_margin":30,"y_axis_title":"Number of Learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1180 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1180__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_339trgmf439_uyz1qjvy3z9 + sqlExpression: null + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2805 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + x_axis: grade_bucket + 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: Grade Bucket + x_axis_title_margin: 30 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of Learners + y_axis_title_margin: 30 + y_axis_title_position: Left + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: grade_bucket + sqlExpression: grade_bucket + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_339trgmf439_uyz1qjvy3z9 + sqlExpression: null + order_desc: true + orderby: + - - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_339trgmf439_uyz1qjvy3z9 + sqlExpression: null + - false + post_processing: + - operation: pivot + options: + aggregates: + Number of Learners: + operator: mean + columns: [] + drop_missing_columns: false + index: + - grade_bucket + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Distribution of Course Grades uuid: cd3479d8-3574-4b77-9e1e-2ad176989b4d version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Distribution_of_Current_Course_Grade.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Distribution_of_Current_Course_Grade.yaml index fe8b87fd0..f8271435a 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Distribution_of_Current_Course_Grade.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Distribution_of_Current_Course_Grade.yaml @@ -43,7 +43,95 @@ params: y_axis_format: SMART_NUMBER y_axis_title_margin: 15 y_axis_title_position: Left -query_context: '{"datasource":{"id":282,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[{"columnType":"BASE_AXIS","sqlExpression":"grade_bucket","label":"grade_bucket","expressionType":"SQL"}],"metrics":["number_of_learners"],"orderby":[["number_of_learners",false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["grade_bucket"],"columns":[],"aggregates":{"number_of_learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"282__table","viz_type":"echarts_timeseries_bar","slice_id":532,"x_axis":"grade_bucket","xAxisForceCategorical":false,"x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["number_of_learners"],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","show_value":true,"only_total":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[629],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 282 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 629 + datasource: 282__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - number_of_learners + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + show_value: true + slice_id: 532 + sort_series_type: sum + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisForceCategorical: false + x_axis: grade_bucket + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title_margin: 15 + y_axis_title_position: Left + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: grade_bucket + sqlExpression: grade_bucket + custom_form_data: {} + custom_params: {} + extras: + having: '' + where: '' + filters: [] + metrics: + - number_of_learners + order_desc: true + orderby: + - - number_of_learners + - false + post_processing: + - operation: pivot + options: + aggregates: + number_of_learners: + operator: mean + columns: [] + drop_missing_columns: false + index: + - grade_bucket + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Distribution of Current Course Grade uuid: ea565658-6796-40e8-9d1e-01ffd0778bc9 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollees_per_Enrollment_Track.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollees_per_Enrollment_Track.yaml index beaf4153f..8fbf6c46d 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollees_per_Enrollment_Track.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Enrollees_per_Enrollment_Track.yaml @@ -65,9 +65,124 @@ params: y_axis_format: ',d' y_axis_title_margin: 15 y_axis_title_position: Left -query_context: '{"datasource":{"id":424,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_time","op":"TEMPORAL_RANGE","val":"No - filter"},{"col":"enrollment_status","op":"IN","val":["registered"]}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[{"columnType":"BASE_AXIS","sqlExpression":"enrollment_mode","label":"enrollment_mode","expressionType":"SQL"}],"metrics":["number_of_learners"],"orderby":[["number_of_learners",false]],"annotation_layers":[],"row_limit":100,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["enrollment_mode"],"columns":[],"aggregates":{"number_of_learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"424__table","viz_type":"echarts_timeseries_bar","slice_id":120,"x_axis":"enrollment_mode","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["number_of_learners"],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_3lacmmheoza_5bcm089g49o","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","sqlExpression":null,"subject":"emission_time"},{"clause":"WHERE","comparator":["registered"],"datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_qttcfymcil_aplt776mxl","isExtra":false,"isNew":false,"operator":"IN","operatorId":"IN","sqlExpression":null,"subject":"enrollment_status"}],"order_desc":true,"row_limit":100,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","show_value":true,"only_total":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","legendMargin":null,"x_axis_time_format":"smart_date","y_axis_format":",d","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[629],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 424 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_3lacmmheoza_5bcm089g49o + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + - clause: WHERE + comparator: + - registered + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_qttcfymcil_aplt776mxl + isExtra: false + isNew: false + operator: IN + operatorId: IN + sqlExpression: null + subject: enrollment_status + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 629 + datasource: 424__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: null + legendOrientation: top + legendType: scroll + metrics: + - number_of_learners + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 100 + show_empty_columns: true + show_legend: true + show_value: true + slice_id: 120 + sort_series_type: sum + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + x_axis: enrollment_mode + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: ',d' + y_axis_title_margin: 15 + y_axis_title_position: Left + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: enrollment_mode + sqlExpression: enrollment_mode + custom_form_data: {} + custom_params: {} + extras: + having: '' + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + - col: enrollment_status + op: IN + val: + - registered + metrics: + - number_of_learners + order_desc: true + orderby: + - - number_of_learners + - false + post_processing: + - operation: pivot + options: + aggregates: + number_of_learners: + operator: mean + columns: [] + drop_missing_columns: false + index: + - enrollment_mode + - operation: flatten + row_limit: 100 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Enrollees per Enrollment Track uuid: e584199e-0ed6-42bf-afb9-db3b9fe4132b version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Event_Activity.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Event_Activity.yaml index b2d406f76..32fd34dcc 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Event_Activity.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Event_Activity.yaml @@ -60,9 +60,131 @@ params: y_axis_title_margin: 15 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":830,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_hour","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"emission_hour","label":"emission_hour","expressionType":"SQL"}],"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":false,"label":"uniqCombinedMerge(events_cnt)","optionName":"metric_7kfvvdo0026_su07rkgdx7","sqlExpression":"uniqCombinedMerge(events_cnt)"}],"orderby":[[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":false,"label":"uniqCombinedMerge(events_cnt)","optionName":"metric_7kfvvdo0026_su07rkgdx7","sqlExpression":"uniqCombinedMerge(events_cnt)"},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["emission_hour"],"columns":[],"aggregates":{"uniqCombinedMerge(events_cnt)":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"830__table","viz_type":"echarts_timeseries_line","slice_id":3401,"x_axis":"emission_hour","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":false,"label":"uniqCombinedMerge(events_cnt)","optionName":"metric_7kfvvdo0026_su07rkgdx7","sqlExpression":"uniqCombinedMerge(events_cnt)"}],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"emission_hour"}],"order_desc":true,"row_limit":10000,"truncate_metric":false,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","seriesType":"line","show_value":false,"only_total":true,"opacity":0.2,"markerEnabled":false,"markerSize":6,"zoomable":true,"show_legend":false,"legendType":"scroll","legendOrientation":"top","legendMargin":null,"x_axis_time_format":"%Y-%m-%d","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":"SMART_NUMBER","truncateXAxis":false,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[2422],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 830 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_hour + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 2422 + datasource: 830__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendMargin: null + legendOrientation: top + legendType: scroll + markerEnabled: false + markerSize: 6 + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: false + label: uniqCombinedMerge(events_cnt) + optionName: metric_7kfvvdo0026_su07rkgdx7 + sqlExpression: uniqCombinedMerge(events_cnt) + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + seriesType: line + show_empty_columns: true + show_legend: false + show_value: false + slice_id: 3401 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: false + truncate_metric: false + viz_type: echarts_timeseries_line + x_axis: emission_hour + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: '%Y-%m-%d' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: emission_hour + sqlExpression: emission_hour + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_hour + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: false + label: uniqCombinedMerge(events_cnt) + optionName: metric_7kfvvdo0026_su07rkgdx7 + sqlExpression: uniqCombinedMerge(events_cnt) + order_desc: true + orderby: + - - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: false + label: uniqCombinedMerge(events_cnt) + optionName: metric_7kfvvdo0026_su07rkgdx7 + sqlExpression: uniqCombinedMerge(events_cnt) + - false + post_processing: + - operation: pivot + options: + aggregates: + uniqCombinedMerge(events_cnt): + operator: mean + columns: [] + drop_missing_columns: false + index: + - emission_hour + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Event Activity uuid: abc9bf92-2b32-42a5-8cd0-d383de777619 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Evolution_of_Engagement_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Evolution_of_Engagement_at-risk.yaml index 0c6e6b456..0a191651e 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Evolution_of_Engagement_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Evolution_of_Engagement_at-risk.yaml @@ -99,20 +99,228 @@ params: y_axis_title_margin: 15 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":1228,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","sqlExpression":"visited_on","label":"visited_on","expressionType":"SQL"}],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Views","optionName":"metric_b6ne4x0igqc_ggxaomlidqn","sqlExpression":null},{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Learners","optionName":"metric_h6pmq3ijrfp_ei6cfisqim","sqlExpression":null}],"orderby":[[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Views","optionName":"metric_b6ne4x0igqc_ggxaomlidqn","sqlExpression":null},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["visited_on"],"columns":[],"aggregates":{"Total - Views":{"operator":"mean"},"Total Learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1228__table","viz_type":"echarts_timeseries_line","slice_id":2211,"x_axis":"visited_on","time_grain_sqla":"P1M","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Views","optionName":"metric_b6ne4x0igqc_ggxaomlidqn","sqlExpression":null},{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Total - Learners","optionName":"metric_h6pmq3ijrfp_ei6cfisqim","sqlExpression":null}],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"visited_on"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","sort_series_ascending":true,"color_scheme":"supersetColors","seriesType":"line","only_total":true,"opacity":0.2,"markerEnabled":true,"markerSize":6,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":",d","truncateXAxis":true,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1228 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1228__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + markerEnabled: true + markerSize: 6 + metrics: + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Views + optionName: metric_b6ne4x0igqc_ggxaomlidqn + sqlExpression: null + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Learners + optionName: metric_h6pmq3ijrfp_ei6cfisqim + sqlExpression: null + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + seriesType: line + show_empty_columns: true + show_legend: true + slice_id: 2211 + sort_series_ascending: true + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_line + x_axis: visited_on + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: ',d' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: visited_on + sqlExpression: visited_on + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Views + optionName: metric_b6ne4x0igqc_ggxaomlidqn + sqlExpression: null + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Learners + optionName: metric_h6pmq3ijrfp_ei6cfisqim + sqlExpression: null + order_desc: true + orderby: + - - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Total Views + optionName: metric_b6ne4x0igqc_ggxaomlidqn + sqlExpression: null + - false + post_processing: + - operation: pivot + options: + aggregates: + Total Learners: + operator: mean + Total Views: + operator: mean + columns: [] + drop_missing_columns: false + index: + - visited_on + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Evolution of Engagement (at-risk) uuid: ffa98e7f-7bed-4435-a1c1-472a46a4d269 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Evolution_of_engagement.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Evolution_of_engagement.yaml index 676bc5a00..d4f74d20b 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Evolution_of_engagement.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Evolution_of_engagement.yaml @@ -54,9 +54,116 @@ params: y_axis_title_margin: 15 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":61,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","sqlExpression":"visited_on","label":"visited_on","expressionType":"SQL"}],"metrics":["number_of_learners","views"],"orderby":[["number_of_learners",false]],"annotation_layers":[],"row_limit":1000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["visited_on"],"columns":[],"aggregates":{"number_of_learners":{"operator":"mean"},"views":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"61__table","viz_type":"echarts_timeseries_line","slice_id":345,"x_axis":"visited_on","time_grain_sqla":"P1M","xAxisForceCategorical":true,"x_axis_sort":"Views","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["number_of_learners","views"],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"visited_on"}],"order_desc":true,"row_limit":1000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","sort_series_ascending":true,"color_scheme":"supersetColors","seriesType":"line","show_value":false,"only_total":true,"opacity":0.2,"markerEnabled":true,"markerSize":6,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":",d","truncateXAxis":true,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[629],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 61 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 629 + datasource: 61__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + markerEnabled: true + markerSize: 6 + metrics: + - number_of_learners + - views + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + row_limit: 1000 + seriesType: line + show_empty_columns: true + show_legend: true + show_value: false + slice_id: 345 + sort_series_ascending: true + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_line + xAxisForceCategorical: true + x_axis: visited_on + x_axis_sort: Views + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: ',d' + y_axis_title_margin: 15 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: visited_on + sqlExpression: visited_on + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - number_of_learners + - views + order_desc: true + orderby: + - - number_of_learners + - false + post_processing: + - operation: pivot + options: + aggregates: + number_of_learners: + operator: mean + views: + operator: mean + columns: [] + drop_missing_columns: false + index: + - visited_on + - operation: flatten + row_limit: 1000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Evolution of engagement uuid: d3ae0546-37a8-4841-a57b-8087a6c33049 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Last_visit_date.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Last_visit_date.yaml index 25a9e9a44..87b10b79f 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Last_visit_date.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Last_visit_date.yaml @@ -67,15 +67,167 @@ params: y_axis_format: SMART_NUMBER y_axis_title_margin: 15 y_axis_title_position: Left -query_context: '{"datasource":{"id":1180,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"last_visited","label":"last_visited","expressionType":"SQL"}],"metrics":[{"aggregate":"COUNT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_orthejcnotd_6ealxq45fqk","sqlExpression":null}],"orderby":[[{"aggregate":"COUNT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_orthejcnotd_6ealxq45fqk","sqlExpression":null},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["last_visited"],"columns":[],"aggregates":{"Number - of Learners":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1180__table","viz_type":"echarts_timeseries_bar","slice_id":2148,"x_axis":"last_visited","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":"COUNT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":13538,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_orthejcnotd_6ealxq45fqk","sqlExpression":null}],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title":"Date - visited","x_axis_title_margin":100,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"%Y-%m-%d","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1180 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1180__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - aggregate: COUNT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_orthejcnotd_6ealxq45fqk + sqlExpression: null + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2148 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 45 + x_axis: last_visited + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: '%Y-%m-%d' + x_axis_title: Date visited + x_axis_title_margin: 100 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title_margin: 15 + y_axis_title_position: Left + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: last_visited + sqlExpression: last_visited + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - aggregate: COUNT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_orthejcnotd_6ealxq45fqk + sqlExpression: null + order_desc: true + orderby: + - - aggregate: COUNT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: null + filterable: true + groupby: true + id: 13538 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_orthejcnotd_6ealxq45fqk + sqlExpression: null + - false + post_processing: + - operation: pivot + options: + aggregates: + Number of Learners: + operator: mean + columns: [] + drop_missing_columns: false + index: + - last_visited + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Last visit date uuid: 6c2b1008-96c9-426d-b2fe-68aa1de7b10d version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Summary.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Summary.yaml index 2ebf53dae..c8bf89029 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Summary.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learner_Summary.yaml @@ -56,8 +56,7 @@ params: sqlExpression: grade_bucket - expressionType: SQL label: Course Grade % - sqlExpression: |2- - ROUND(course_grade*100, 2) + sqlExpression: ROUND(course_grade*100, 2) order_by_cols: [] order_desc: true percent_metrics: [] @@ -73,53 +72,171 @@ params: last_visited: true time_grain_sqla: P1D viz_type: table -query_context: "{\"datasource\":{\"id\":992,\"type\":\"table\"},\"force\":false,\"\ - queries\":[{\"filters\":[{\"col\":\"emission_time\",\"op\":\"TEMPORAL_RANGE\",\"\ - val\":\"No filter\"}],\"extras\":{\"time_grain_sqla\":\"P1D\",\"having\":\"\",\"\ - where\":\"\"},\"applied_time_extras\":{},\"columns\":[\"username\",\"name\",\"email\"\ - ,\"course_name\",\"course_run\",{\"expressionType\":\"SQL\",\"label\":\"Enrollment\ - \ Date\",\"sqlExpression\":\"emission_time\"},{\"timeGrain\":\"P1D\",\"columnType\"\ - :\"BASE_AXIS\",\"sqlExpression\":\"last_visited\",\"label\":\"last_visited\",\"\ - expressionType\":\"SQL\"},{\"expressionType\":\"SQL\",\"label\":\"Passed/Failed\"\ - ,\"sqlExpression\":\"approving_state\"},{\"expressionType\":\"SQL\",\"label\":\"\ - Enrollment Track\",\"sqlExpression\":\"enrollment_mode\"},\"enrollment_status\"\ - ,{\"expressionType\":\"SQL\",\"label\":\"Grade Range\",\"sqlExpression\":\"grade_bucket\"\ - },\"course_grade\"],\"metrics\":[],\"orderby\":[],\"annotation_layers\":[],\"row_limit\"\ - :100,\"row_offset\":0,\"series_limit\":0,\"order_desc\":true,\"url_params\":{},\"\ - custom_params\":{},\"custom_form_data\":{},\"post_processing\":[]},{\"filters\"\ - :[{\"col\":\"emission_time\",\"op\":\"TEMPORAL_RANGE\",\"val\":\"No filter\"}],\"\ - extras\":{\"time_grain_sqla\":\"P1D\",\"having\":\"\",\"where\":\"\"},\"applied_time_extras\"\ - :{},\"columns\":[\"username\",\"name\",\"email\",\"course_name\",\"course_run\"\ - ,{\"expressionType\":\"SQL\",\"label\":\"Enrollment Date\",\"sqlExpression\":\"\ - emission_time\"},{\"timeGrain\":\"P1D\",\"columnType\":\"BASE_AXIS\",\"sqlExpression\"\ - :\"last_visited\",\"label\":\"last_visited\",\"expressionType\":\"SQL\"},{\"expressionType\"\ - :\"SQL\",\"label\":\"Passed/Failed\",\"sqlExpression\":\"approving_state\"},{\"\ - expressionType\":\"SQL\",\"label\":\"Enrollment Track\",\"sqlExpression\":\"enrollment_mode\"\ - },\"enrollment_status\",{\"expressionType\":\"SQL\",\"label\":\"Grade Range\",\"\ - sqlExpression\":\"grade_bucket\"},\"course_grade\"],\"metrics\":[],\"orderby\":[],\"\ - annotation_layers\":[],\"row_limit\":0,\"row_offset\":0,\"series_limit\":0,\"order_desc\"\ - :true,\"url_params\":{},\"custom_params\":{},\"custom_form_data\":{},\"post_processing\"\ - :[],\"is_rowcount\":true}],\"form_data\":{\"adhoc_filters\":[{\"clause\":\"WHERE\"\ - ,\"comparator\":\"No filter\",\"expressionType\":\"SIMPLE\",\"operator\":\"TEMPORAL_RANGE\"\ - ,\"subject\":\"emission_time\"}],\"all_columns\":[],\"annotation_layers\":[],\"\ - color_pn\":true,\"conditional_formatting\":[{\"colorScheme\":\"#ACE1C4\",\"column\"\ - :\"course_grade\",\"operator\":\"\u2265\",\"targetValue\":0.7},{\"colorScheme\"\ - :\"#FDE380\",\"column\":\"course_grade\",\"operator\":\"\u2264 x \u2264\",\"targetValueLeft\"\ - :\"0.5\",\"targetValueRight\":\"0.7\"},{\"colorScheme\":\"#EFA1AA\",\"column\":\"\ - course_grade\",\"operator\":\"<\",\"targetValue\":0.5}],\"datasource\":\"992__table\"\ - ,\"extra_form_data\":{},\"groupby\":[\"username\",\"name\",\"email\",\"course_name\"\ - ,\"course_run\",{\"expressionType\":\"SQL\",\"label\":\"Enrollment Date\",\"sqlExpression\"\ - :\"emission_time\"},\"last_visited\",{\"expressionType\":\"SQL\",\"label\":\"Passed/Failed\"\ - ,\"sqlExpression\":\"approving_state\"},{\"expressionType\":\"SQL\",\"label\":\"\ - Enrollment Track\",\"sqlExpression\":\"enrollment_mode\"},\"enrollment_status\"\ - ,{\"expressionType\":\"SQL\",\"label\":\"Grade Range\",\"sqlExpression\":\"grade_bucket\"\ - },\"course_grade\"],\"order_by_cols\":[],\"order_desc\":true,\"percent_metrics\"\ - :[],\"query_mode\":\"aggregate\",\"row_limit\":1000,\"server_page_length\":100,\"\ - server_pagination\":true,\"show_cell_bars\":true,\"show_totals\":true,\"slice_id\"\ - :4364,\"table_timestamp_format\":\"smart_date\",\"temporal_columns_lookup\":{\"\ - emission_time\":true,\"last_visited\":true},\"time_grain_sqla\":\"P1D\",\"viz_type\"\ - :\"table\",\"force\":false,\"result_format\":\"json\",\"result_type\":\"full\"},\"\ - result_format\":\"json\",\"result_type\":\"full\"}" +query_context: + datasource: + id: 992 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_time + all_columns: [] + annotation_layers: [] + color_pn: true + conditional_formatting: + - colorScheme: '#ACE1C4' + column: course_grade + operator: "\u2265" + targetValue: 0.7 + - colorScheme: '#FDE380' + column: course_grade + operator: "\u2264 x \u2264" + targetValueLeft: '0.5' + targetValueRight: '0.7' + - colorScheme: '#EFA1AA' + column: course_grade + operator: < + targetValue: 0.5 + datasource: 992__table + extra_form_data: {} + force: false + groupby: + - username + - name + - email + - course_name + - course_run + - expressionType: SQL + label: Enrollment Date + sqlExpression: emission_time + - last_visited + - expressionType: SQL + label: Passed/Failed + sqlExpression: approving_state + - expressionType: SQL + label: Enrollment Track + sqlExpression: enrollment_mode + - enrollment_status + - expressionType: SQL + label: Grade Range + sqlExpression: grade_bucket + - course_grade + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 100 + server_pagination: true + show_cell_bars: true + show_totals: true + slice_id: 4364 + table_timestamp_format: smart_date + temporal_columns_lookup: + emission_time: true + last_visited: true + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - username + - name + - email + - course_name + - course_run + - expressionType: SQL + label: Enrollment Date + sqlExpression: emission_time + - columnType: BASE_AXIS + expressionType: SQL + label: last_visited + sqlExpression: last_visited + timeGrain: P1D + - expressionType: SQL + label: Passed/Failed + sqlExpression: approving_state + - expressionType: SQL + label: Enrollment Track + sqlExpression: enrollment_mode + - enrollment_status + - expressionType: SQL + label: Grade Range + sqlExpression: grade_bucket + - course_grade + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: [] + order_desc: true + orderby: [] + post_processing: [] + row_limit: 100 + row_offset: 0 + series_limit: 0 + url_params: {} + - annotation_layers: [] + applied_time_extras: {} + columns: + - username + - name + - email + - course_name + - course_run + - expressionType: SQL + label: Enrollment Date + sqlExpression: emission_time + - columnType: BASE_AXIS + expressionType: SQL + label: last_visited + sqlExpression: last_visited + timeGrain: P1D + - expressionType: SQL + label: Passed/Failed + sqlExpression: approving_state + - expressionType: SQL + label: Enrollment Track + sqlExpression: enrollment_mode + - enrollment_status + - expressionType: SQL + label: Grade Range + sqlExpression: grade_bucket + - course_grade + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + is_rowcount: true + metrics: [] + order_desc: true + orderby: [] + post_processing: [] + row_limit: 0 + row_offset: 0 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Learner Summary uuid: 6da50964-000e-4342-a931-3881feb02c13 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learners_with_Passing_Grade.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learners_with_Passing_Grade.yaml index bf14ce326..954200ed4 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learners_with_Passing_Grade.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Learners_with_Passing_Grade.yaml @@ -18,6 +18,7 @@ params: operatorId: IN sqlExpression: null subject: approving_state + annotation_layers: [] conditional_formatting: - colorScheme: '#ACE1C4' column: number_of_learners @@ -30,22 +31,65 @@ params: time_format: smart_date viz_type: big_number_total y_axis_format: SMART_NUMBER -query_context: "{\"datasource\":{\"id\":282,\"type\":\"table\"},\"force\":false,\"\ - queries\":[{\"filters\":[{\"col\":\"approving_state\",\"op\":\"IN\",\"val\":[\"\ - passed\"]}],\"extras\":{\"having\":\"\",\"where\":\"\"},\"applied_time_extras\"\ - :{},\"columns\":[],\"metrics\":[\"number_of_learners\"],\"annotation_layers\":[],\"\ - series_limit\":0,\"order_desc\":true,\"url_params\":{},\"custom_params\":{},\"custom_form_data\"\ - :{}}],\"form_data\":{\"datasource\":\"282__table\",\"viz_type\":\"big_number_total\"\ - ,\"slice_id\":500,\"metric\":\"number_of_learners\",\"adhoc_filters\":[{\"clause\"\ - :\"WHERE\",\"comparator\":[\"passed\"],\"datasourceWarning\":false,\"expressionType\"\ - :\"SIMPLE\",\"filterOptionName\":\"filter_k60jb4bendq_gwaxaqda836\",\"isExtra\"\ - :false,\"isNew\":false,\"operator\":\"IN\",\"operatorId\":\"IN\",\"sqlExpression\"\ - :null,\"subject\":\"approving_state\"}],\"header_font_size\":0.5,\"subheader_font_size\"\ - :0.3,\"y_axis_format\":\"SMART_NUMBER\",\"time_format\":\"smart_date\",\"conditional_formatting\"\ - :[{\"colorScheme\":\"#ACE1C4\",\"column\":\"Number of Learners\",\"operator\":\"\ - \u2265\",\"targetValue\":0}],\"extra_form_data\":{},\"dashboards\":[629],\"force\"\ - :false,\"result_format\":\"json\",\"result_type\":\"full\"},\"result_format\":\"\ - json\",\"result_type\":\"full\"}" +query_context: + datasource: + id: 282 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: + - passed + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_k60jb4bendq_gwaxaqda836 + isExtra: false + isNew: false + operator: IN + operatorId: IN + sqlExpression: null + subject: approving_state + conditional_formatting: + - colorScheme: '#ACE1C4' + column: Number of Learners + operator: "\u2265" + targetValue: 0 + dashboards: + - 629 + datasource: 282__table + extra_form_data: {} + force: false + header_font_size: 0.5 + metric: number_of_learners + result_format: json + result_type: full + slice_id: 500 + subheader_font_size: 0.3 + time_format: smart_date + viz_type: big_number_total + y_axis_format: SMART_NUMBER + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: [] + custom_form_data: {} + custom_params: {} + extras: + having: '' + where: '' + filters: + - col: approving_state + op: IN + val: + - passed + metrics: + - number_of_learners + order_desc: true + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Learners with Passing Grade uuid: b40cdabc-b265-48d2-913d-a9dfee0b6ab1 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section.yaml index 7c5218cde..68efea964 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section.yaml @@ -17,6 +17,7 @@ params: sqlExpression: null subject: visited_on all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#ACE1C4' @@ -44,9 +45,86 @@ params: temporal_columns_lookup: {} time_grain_sqla: P1M viz_type: table -query_context: '{"datasource":{"id":99,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":["section_with_name"],"metrics":["all_pages_viewed","at_leat_one_page_viewed"],"orderby":[["all_pages_viewed",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"99__table","viz_type":"table","slice_id":192,"query_mode":"aggregate","groupby":["section_with_name"],"time_grain_sqla":"P1M","temporal_columns_lookup":{},"metrics":["all_pages_viewed","at_leat_one_page_viewed"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_s8d5o5h20q_2r3i3mfdrkw","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","sqlExpression":null,"subject":"visited_on"}],"order_by_cols":[],"row_limit":10000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[{"colorScheme":"#ACE1C4","column":"all_pages_viewed","operator":">","targetValue":0},{"colorScheme":"#FDE380","column":"at_leat_one_page_viewed","operator":">","targetValue":0}],"extra_form_data":{},"dashboards":[42],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 99 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_s8d5o5h20q_2r3i3mfdrkw + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: visited_on + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#ACE1C4' + column: all_pages_viewed + operator: '>' + targetValue: 0 + - colorScheme: '#FDE380' + column: at_leat_one_page_viewed + operator: '>' + targetValue: 0 + dashboards: + - 42 + datasource: 99__table + extra_form_data: {} + force: false + groupby: + - section_with_name + metrics: + - all_pages_viewed + - at_leat_one_page_viewed + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 10000 + server_page_length: 10 + show_cell_bars: true + slice_id: 192 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - section_with_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - all_pages_viewed + - at_leat_one_page_viewed + order_desc: true + orderby: + - - all_pages_viewed + - false + post_processing: [] + row_limit: 10000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Page views per section uuid: 834ec7c4-ead8-4dea-b227-1c8be5fbb1d3 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section_subsection.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section_subsection.yaml index 63b3ca253..3247d8dc5 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section_subsection.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section_subsection.yaml @@ -55,12 +55,116 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":58,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","label":"section_subsection_name","sqlExpression":"leftUTF8(section_subsection_name, - 20)","expressionType":"SQL"}],"metrics":["all_pages_viewed","at_leat_one_page_viewed"],"orderby":[["all_pages_viewed",false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["section_subsection_name"],"columns":[],"aggregates":{"all_pages_viewed":{"operator":"mean"},"at_leat_one_page_viewed":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"58__table","viz_type":"echarts_timeseries_bar","slice_id":3501,"x_axis":{"label":"section_subsection_name","sqlExpression":"leftUTF8(section_subsection_name, - 20)","expressionType":"SQL"},"time_grain_sqla":"P1M","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["all_pages_viewed","at_leat_one_page_viewed"],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"visited_on"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":75,"y_axis_title":"Number - of learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","show_value":false,"only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":0,"y_axis_format":",d","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[5076,5080],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 58 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 5076 + - 5080 + datasource: 58__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - all_pages_viewed + - at_leat_one_page_viewed + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + show_value: false + slice_id: 3501 + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: + expressionType: SQL + label: section_subsection_name + sqlExpression: leftUTF8(section_subsection_name, 20) + 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_margin: 75 + y_axis_bounds: + - null + - null + y_axis_format: ',d' + y_axis_title: Number of learners + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: section_subsection_name + sqlExpression: leftUTF8(section_subsection_name, 20) + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - all_pages_viewed + - at_leat_one_page_viewed + order_desc: true + orderby: + - - all_pages_viewed + - false + post_processing: + - operation: pivot + options: + aggregates: + all_pages_viewed: + operator: mean + at_leat_one_page_viewed: + operator: mean + columns: [] + drop_missing_columns: false + index: + - section_subsection_name + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Page views per section/subsection uuid: bf2d6219-d633-48c1-a9b5-742eac6a4c0a version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section_subsection_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section_subsection_at-risk.yaml index 5831b554f..12cf4a4c9 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section_subsection_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_section_subsection_at-risk.yaml @@ -62,8 +62,143 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: |- - {"datasource":{"id":1216,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"section_subsection_name","label":"section_subsection_name","expressionType":"SQL"}],"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one page viewed","optionName":"metric_luga9plford_yed4xbi724","sqlExpression":"countIf(\"section_subsection_page_engagement\" = 'At least one page viewed' or \"section_subsection_page_engagement\" = 'All pages viewed')"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"All pages viewed","optionName":"metric_u566xrvox2_qv3xavca31l","sqlExpression":"countIf(\"section_subsection_page_engagement\" = 'All pages viewed')"}],"orderby":[[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one page viewed","optionName":"metric_luga9plford_yed4xbi724","sqlExpression":"countIf(\"section_subsection_page_engagement\" = 'At least one page viewed' or \"section_subsection_page_engagement\" = 'All pages viewed')"},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["section_subsection_name"],"columns":[],"aggregates":{"At least one page viewed":{"operator":"mean"},"All pages viewed":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1216__table","viz_type":"echarts_timeseries_bar","slice_id":2188,"x_axis":"section_subsection_name","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one page viewed","optionName":"metric_luga9plford_yed4xbi724","sqlExpression":"countIf(\"section_subsection_page_engagement\" = 'At least one page viewed' or \"section_subsection_page_engagement\" = 'All pages viewed')"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"All pages viewed","optionName":"metric_u566xrvox2_qv3xavca31l","sqlExpression":"countIf(\"section_subsection_page_engagement\" = 'All pages viewed')"}],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title":"Number of Learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 1216 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1216__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one page viewed + optionName: metric_luga9plford_yed4xbi724 + sqlExpression: |- + countIf("section_subsection_page_engagement" = 'At least one page viewed' or "section_subsection_page_engagement" = 'All pages viewed') + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: All pages viewed + optionName: metric_u566xrvox2_qv3xavca31l + sqlExpression: |- + countIf("section_subsection_page_engagement" = 'All pages viewed') + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2188 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 45 + x_axis: section_subsection_name + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of Learners + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: section_subsection_name + sqlExpression: section_subsection_name + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one page viewed + optionName: metric_luga9plford_yed4xbi724 + sqlExpression: |- + countIf("section_subsection_page_engagement" = 'At least one page viewed' or "section_subsection_page_engagement" = 'All pages viewed') + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: All pages viewed + optionName: metric_u566xrvox2_qv3xavca31l + sqlExpression: |- + countIf("section_subsection_page_engagement" = 'All pages viewed') + order_desc: true + orderby: + - - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one page viewed + optionName: metric_luga9plford_yed4xbi724 + sqlExpression: |- + countIf("section_subsection_page_engagement" = 'At least one page viewed' or "section_subsection_page_engagement" = 'All pages viewed') + - false + post_processing: + - operation: pivot + options: + aggregates: + All pages viewed: + operator: mean + At least one page viewed: + operator: mean + columns: [] + drop_missing_columns: false + index: + - section_subsection_name + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Page views per section/subsection (at-risk) uuid: 29a5cf7e-41cd-4b60-a63a-c921d6ebd997 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_subsection.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_subsection.yaml index c2d815370..cbb26dff6 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_subsection.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Page_views_per_subsection.yaml @@ -28,6 +28,7 @@ params: subsection_with_name != '' subject: null all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#ACE1C4' @@ -55,8 +56,98 @@ params: temporal_columns_lookup: {} time_grain_sqla: P1M viz_type: table -query_context: |- - {"datasource":{"id":99,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":"(subsection_with_name != '')"},"applied_time_extras":{},"columns":["subsection_with_name"],"metrics":["all_pages_viewed","at_leat_one_page_viewed"],"orderby":[["all_pages_viewed",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"99__table","viz_type":"table","slice_id":191,"query_mode":"aggregate","groupby":["subsection_with_name"],"time_grain_sqla":"P1M","temporal_columns_lookup":{},"metrics":["all_pages_viewed","at_leat_one_page_viewed"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_s8d5o5h20q_2r3i3mfdrkw","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","sqlExpression":null,"subject":"visited_on"},{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SQL","filterOptionName":"filter_f90l1y3p62f_1hlgx4smg41","isExtra":false,"isNew":false,"operator":null,"sqlExpression":"subsection_with_name != ''","subject":null}],"order_by_cols":[],"row_limit":10000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[{"colorScheme":"#ACE1C4","column":"all_pages_viewed","operator":">","targetValue":0},{"colorScheme":"#FDE380","column":"at_leat_one_page_viewed","operator":">","targetValue":0}],"extra_form_data":{},"dashboards":[42],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 99 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_s8d5o5h20q_2r3i3mfdrkw + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: visited_on + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SQL + filterOptionName: filter_f90l1y3p62f_1hlgx4smg41 + isExtra: false + isNew: false + operator: null + sqlExpression: |- + subsection_with_name != '' + subject: null + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#ACE1C4' + column: all_pages_viewed + operator: '>' + targetValue: 0 + - colorScheme: '#FDE380' + column: at_leat_one_page_viewed + operator: '>' + targetValue: 0 + dashboards: + - 42 + datasource: 99__table + extra_form_data: {} + force: false + groupby: + - subsection_with_name + metrics: + - all_pages_viewed + - at_leat_one_page_viewed + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 10000 + server_page_length: 10 + show_cell_bars: true + slice_id: 191 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - subsection_with_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: |- + (subsection_with_name != '') + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - all_pages_viewed + - at_leat_one_page_viewed + order_desc: true + orderby: + - - all_pages_viewed + - false + post_processing: [] + row_limit: 10000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Page views per subsection uuid: 18f85781-d604-4edf-a3e6-429e16c3040a version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_Full_Views_Per_Video_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_Full_Views_Per_Video_at-risk.yaml index 3b9f2b6d1..2fbebb8eb 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_Full_Views_Per_Video_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_Full_Views_Per_Video_at-risk.yaml @@ -60,17 +60,138 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":28,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"video_name_with_location","label":"video_name_with_location","expressionType":"SQL"}],"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Partial - Views","optionName":"metric_h50s8htipd_venor6mo6s","sqlExpression":"countIf(not - watched_entire_video)"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Full - Views","optionName":"metric_uqiel1omte_00o0uw5q78fli","sqlExpression":"countIf(watched_entire_video)"}],"orderby":[[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Partial - Views","optionName":"metric_h50s8htipd_venor6mo6s","sqlExpression":"countIf(not - watched_entire_video)"},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["video_name_with_location"],"columns":[],"aggregates":{"Partial - Views":{"operator":"mean"},"Full Views":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"28__table","viz_type":"echarts_timeseries_bar","slice_id":33,"x_axis":"video_name_with_location","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Partial - Views","optionName":"metric_h50s8htipd_venor6mo6s","sqlExpression":"countIf(not - watched_entire_video)"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Full - Views","optionName":"metric_uqiel1omte_00o0uw5q78fli","sqlExpression":"countIf(watched_entire_video)"}],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title":"Number - of Learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[50],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1298 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1298__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Partial Views + optionName: metric_h50s8htipd_venor6mo6s + sqlExpression: countIf(not watched_entire_video) + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Full Views + optionName: metric_uqiel1omte_00o0uw5q78fli + sqlExpression: countIf(watched_entire_video) + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2706 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 45 + x_axis: video_name_with_location + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of Learners + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: video_name_with_location + sqlExpression: video_name_with_location + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Partial Views + optionName: metric_h50s8htipd_venor6mo6s + sqlExpression: countIf(not watched_entire_video) + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Full Views + optionName: metric_uqiel1omte_00o0uw5q78fli + sqlExpression: countIf(watched_entire_video) + order_desc: true + orderby: + - - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Partial Views + optionName: metric_h50s8htipd_venor6mo6s + sqlExpression: countIf(not watched_entire_video) + - false + post_processing: + - operation: pivot + options: + aggregates: + Full Views: + operator: mean + Partial Views: + operator: mean + columns: [] + drop_missing_columns: false + index: + - video_name_with_location + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Partial and Full Views Per Video (at-risk) uuid: 2232c302-cd41-406f-a45d-0f674344166b version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_full_views_per_video.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_full_views_per_video.yaml index 57b851370..9910ba210 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_full_views_per_video.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_full_views_per_video.yaml @@ -49,11 +49,104 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":13,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","expressionType":"SQL","label":"Video - Name With Location","sqlExpression":"leftUTF8(video_name_with_location, 20)"}],"metrics":["partial_views","full_views"],"orderby":[["partial_views",false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["Video - Name With Location"],"columns":[],"aggregates":{"partial_views":{"operator":"mean"},"full_views":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"13__table","viz_type":"echarts_timeseries_bar","slice_id":11,"x_axis":{"expressionType":"SQL","label":"Video - Name With Location","sqlExpression":"leftUTF8(video_name_with_location, 20)"},"time_grain_sqla":"P1M","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["partial_views","full_views"],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title":"Number - of learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[49,51],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 81 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + datasource: 81__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - partial_views + - full_views + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 3620 + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 45 + x_axis: + expressionType: SQL + label: Video Name With Location + sqlExpression: leftUTF8(video_name_with_location, 20) + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of learners + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: Video Name With Location + sqlExpression: leftUTF8(video_name_with_location, 20) + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: [] + metrics: + - partial_views + - full_views + order_desc: true + orderby: + - - partial_views + - false + post_processing: + - operation: pivot + options: + aggregates: + full_views: + operator: mean + partial_views: + operator: mean + columns: [] + drop_missing_columns: false + index: + - Video Name With Location + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Partial and full views per video uuid: bfffb9fe-07bd-4b2f-b437-522d45f6cd2c version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_full_views_per_video_table.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_full_views_per_video_table.yaml index c05d62da5..7e1eca986 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_full_views_per_video_table.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Partial_and_full_views_per_video_table.yaml @@ -7,6 +7,7 @@ description: null params: adhoc_filters: [] all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#ACE1C4' @@ -34,7 +35,73 @@ params: temporal_columns_lookup: {} time_grain_sqla: P1M viz_type: table -query_context: '{"datasource":{"id":13,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":["video_name_with_location"],"metrics":["full_views","partial_views"],"orderby":[["full_views",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"13__table","viz_type":"table","slice_id":61,"query_mode":"aggregate","groupby":["video_name_with_location"],"time_grain_sqla":"P1M","temporal_columns_lookup":{},"metrics":["full_views","partial_views"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[],"order_by_cols":[],"row_limit":10000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[{"colorScheme":"#ACE1C4","column":"full_views","operator":">","targetValue":0},{"colorScheme":"#FDE380","column":"partial_views","operator":">","targetValue":0}],"extra_form_data":{},"dashboards":[49],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 82 + type: table + force: false + form_data: + adhoc_filters: [] + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#ACE1C4' + column: full_views + operator: '>' + targetValue: 0 + - colorScheme: '#FDE380' + column: partial_views + operator: '>' + targetValue: 0 + dashboards: + - 42 + datasource: 82__table + extra_form_data: {} + force: false + groupby: + - video_name_with_location + metrics: + - full_views + - partial_views + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 10000 + server_page_length: 10 + show_cell_bars: true + slice_id: 146 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - video_name_with_location + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: [] + metrics: + - full_views + - partial_views + order_desc: true + orderby: + - - full_views + - false + post_processing: [] + row_limit: 10000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Partial and full views per video (table) uuid: 54a1551c-7eb3-43fb-abd1-005816da0769 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Interactions_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Interactions_at-risk.yaml index 6aa2d866d..c34f7f858 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Interactions_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Interactions_at-risk.yaml @@ -12,6 +12,7 @@ params: operator: TEMPORAL_RANGE subject: emission_time all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: [] extra_form_data: {} @@ -70,18 +71,173 @@ params: emission_time: true time_grain_sqla: P1D viz_type: table -query_context: '{"datasource":{"id":1242,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_time","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["problem_name_with_location"],"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14189,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners who attemped the problem","optionName":"metric_1y87egvrs7r_60tzttoxm3f","sqlExpression":null},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Median - of Attempts","optionName":"metric_mvxmpqpzo3d_pk4liyfd228","sqlExpression":"quantile(0.5)(attempts) - "},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Avg - Attempts","optionName":"metric_brfoafrujzf_mf5rmpmbu","sqlExpression":"SUM(attempts)/COUNT(actor_id)"}],"orderby":[[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14189,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners who attemped the problem","optionName":"metric_1y87egvrs7r_60tzttoxm3f","sqlExpression":null},false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"1242__table","viz_type":"table","slice_id":2664,"query_mode":"aggregate","groupby":["problem_name_with_location"],"time_grain_sqla":"P1D","temporal_columns_lookup":{"emission_time":true},"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14189,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners who attemped the problem","optionName":"metric_1y87egvrs7r_60tzttoxm3f","sqlExpression":null},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Median - of Attempts","optionName":"metric_mvxmpqpzo3d_pk4liyfd228","sqlExpression":"quantile(0.5)(attempts) - "},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Avg - Attempts","optionName":"metric_brfoafrujzf_mf5rmpmbu","sqlExpression":"SUM(attempts)/COUNT(actor_id)"}],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"emission_time"}],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1242 + 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: true + conditional_formatting: [] + dashboards: + - 6096 + datasource: 1242__table + extra_form_data: {} + force: false + groupby: + - problem_name_with_location + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14189 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: null + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners who attemped the problem + optionName: metric_1y87egvrs7r_60tzttoxm3f + sqlExpression: null + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Median of Attempts + optionName: metric_mvxmpqpzo3d_pk4liyfd228 + sqlExpression: 'quantile(0.5)(attempts) ' + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Avg Attempts + optionName: metric_brfoafrujzf_mf5rmpmbu + sqlExpression: SUM(attempts)/COUNT(actor_id) + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 2664 + table_timestamp_format: smart_date + temporal_columns_lookup: + emission_time: true + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - problem_name_with_location + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14189 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: null + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners who attemped the problem + optionName: metric_1y87egvrs7r_60tzttoxm3f + sqlExpression: null + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Median of Attempts + optionName: metric_mvxmpqpzo3d_pk4liyfd228 + sqlExpression: 'quantile(0.5)(attempts) ' + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Avg Attempts + optionName: metric_brfoafrujzf_mf5rmpmbu + sqlExpression: SUM(attempts)/COUNT(actor_id) + order_desc: true + orderby: + - - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14189 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: null + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners who attemped the problem + optionName: metric_1y87egvrs7r_60tzttoxm3f + sqlExpression: null + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Problem Interactions (at-risk) uuid: d3b9fa1e-f0ab-41e5-9705-27c7c58e620c version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Results.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Results.yaml index 408e085f3..9b1184d4b 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Results.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Results.yaml @@ -67,37 +67,120 @@ params: emission_time: true time_grain_sqla: P1M viz_type: table -query_context: "{\"datasource\":{\"id\":373,\"type\":\"table\"},\"force\":false,\"\ - queries\":[{\"filters\":[{\"col\":\"emission_time\",\"op\":\"TEMPORAL_RANGE\",\"\ - val\":\"No filter\"}],\"extras\":{\"time_grain_sqla\":\"P1M\",\"having\":\"\",\"\ - where\":\"\"},\"applied_time_extras\":{},\"columns\":[\"problem_link\",\"problem_name_with_location\"\ - ,{\"expressionType\":\"SQL\",\"label\":\"Graded\",\"sqlExpression\":\"case when\ - \ graded then 'Graded'\\nelse 'Ungraded'\\nend\",\"datasourceWarning\":false}],\"\ - metrics\":[\"correct_attempts\",\"incorrect_attempts\",\"correct_percent\",\"incorrect_percent\"\ - ],\"orderby\":[[\"correct_attempts\",false]],\"annotation_layers\":[],\"row_limit\"\ - :1000,\"series_limit\":0,\"order_desc\":true,\"url_params\":{},\"custom_params\"\ - :{},\"custom_form_data\":{},\"post_processing\":[]}],\"form_data\":{\"datasource\"\ - :\"373__table\",\"viz_type\":\"table\",\"slice_id\":666,\"query_mode\":\"aggregate\"\ - ,\"groupby\":[\"problem_link\",\"problem_name_with_location\",{\"expressionType\"\ - :\"SQL\",\"label\":\"Graded\",\"sqlExpression\":\"case when graded then 'Graded'\\\ - nelse 'Ungraded'\\nend\",\"datasourceWarning\":false}],\"time_grain_sqla\":\"P1M\"\ - ,\"temporal_columns_lookup\":{\"emission_time\":true},\"metrics\":[\"correct_attempts\"\ - ,\"incorrect_attempts\",\"correct_percent\",\"incorrect_percent\"],\"all_columns\"\ - :[],\"percent_metrics\":[],\"adhoc_filters\":[{\"clause\":\"WHERE\",\"comparator\"\ - :\"No filter\",\"datasourceWarning\":false,\"expressionType\":\"SIMPLE\",\"filterOptionName\"\ - :\"filter_yd770pyvxe_mwgme7m4o1\",\"isExtra\":false,\"isNew\":false,\"operator\"\ - :\"TEMPORAL_RANGE\",\"sqlExpression\":null,\"subject\":\"emission_time\"}],\"order_by_cols\"\ - :[],\"server_pagination\":false,\"row_limit\":1000,\"server_page_length\":10,\"\ - order_desc\":true,\"show_totals\":false,\"table_timestamp_format\":\"smart_date\"\ - ,\"show_cell_bars\":true,\"color_pn\":true,\"column_config\":{\"% Correct\":{\"\ - d3NumberFormat\":\",.1%\"},\"% Incorrect\":{\"d3NumberFormat\":\",.1%\"},\"Correct\ - \ Attempts\":{\"d3NumberFormat\":\",d\",\"d3SmallNumberFormat\":\",d\"},\"Incorrect\ - \ Attempts\":{\"d3NumberFormat\":\",d\",\"d3SmallNumberFormat\":\",d\"}},\"conditional_formatting\"\ - :[{\"colorScheme\":\"#ACE1C4\",\"column\":\"% Correct\",\"operator\":\"\u2265\"\ - ,\"targetValue\":0},{\"colorScheme\":\"#EFA1AA\",\"column\":\"% Incorrect\",\"operator\"\ - :\"\u2265\",\"targetValue\":0}],\"extra_form_data\":{},\"dashboards\":[629],\"force\"\ - :false,\"result_format\":\"json\",\"result_type\":\"full\"},\"result_format\":\"\ - json\",\"result_type\":\"full\"}" +query_context: + datasource: + id: 373 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_yd770pyvxe_mwgme7m4o1 + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + all_columns: [] + color_pn: true + column_config: + '% Correct': + d3NumberFormat: ',.1%' + '% Incorrect': + d3NumberFormat: ',.1%' + Correct Attempts: + d3NumberFormat: ',d' + d3SmallNumberFormat: ',d' + Incorrect Attempts: + d3NumberFormat: ',d' + d3SmallNumberFormat: ',d' + conditional_formatting: + - colorScheme: '#ACE1C4' + column: '% Correct' + operator: "\u2265" + targetValue: 0 + - colorScheme: '#EFA1AA' + column: '% Incorrect' + operator: "\u2265" + targetValue: 0 + dashboards: + - 629 + datasource: 373__table + extra_form_data: {} + force: false + groupby: + - problem_link + - problem_name_with_location + - datasourceWarning: false + expressionType: SQL + label: Graded + sqlExpression: |- + case when graded then 'Graded' + else 'Ungraded' + end + metrics: + - correct_attempts + - incorrect_attempts + - correct_percent + - incorrect_percent + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + server_pagination: false + show_cell_bars: true + show_totals: false + slice_id: 666 + table_timestamp_format: smart_date + temporal_columns_lookup: + emission_time: true + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - problem_link + - problem_name_with_location + - datasourceWarning: false + expressionType: SQL + label: Graded + sqlExpression: |- + case when graded then 'Graded' + else 'Ungraded' + end + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - correct_attempts + - incorrect_attempts + - correct_percent + - incorrect_percent + order_desc: true + orderby: + - - correct_attempts + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Problem Results uuid: 6df96404-8c09-4a52-96c8-9a60a92cec29 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Results_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Results_at-risk.yaml index 39a83d012..15c08f779 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Results_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_Results_at-risk.yaml @@ -12,6 +12,7 @@ params: operator: TEMPORAL_RANGE subject: emission_time all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: [] extra_form_data: {} @@ -70,27 +71,157 @@ params: emission_time: true time_grain_sqla: P1D viz_type: table -query_context: '{"datasource":{"id":1242,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_time","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["problem_name_with_location"],"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Correct - Attempts","optionName":"metric_rqulghfc2m_gtwrvu4imq","sqlExpression":"SUM(CASE - WHEN success THEN attempts ELSE 0 END)"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Incorrect - Attempts","optionName":"metric_2pn4wmt4mhw_d3bfmf9hpqi","sqlExpression":"SUM(CASE - WHEN NOT success THEN attempts ELSE 0 END)"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"% - Correct","optionName":"metric_rxhpd0zy3a_l5nc215rcs8","sqlExpression":" ROUND(\n (SUM(CASE - WHEN success THEN attempts ELSE 0 END)) /\n SUM(attempts), 2\n )"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"% - Incorrect","optionName":"metric_3zuudx7dth3_e3j14ngnjxr","sqlExpression":" ROUND(\n (SUM(CASE - WHEN NOT success THEN attempts ELSE 0 END)) /\n SUM(attempts), 2\n )"}],"orderby":[[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Correct - Attempts","optionName":"metric_rqulghfc2m_gtwrvu4imq","sqlExpression":"SUM(CASE - WHEN success THEN attempts ELSE 0 END)"},false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"1242__table","viz_type":"table","slice_id":2665,"query_mode":"aggregate","groupby":["problem_name_with_location"],"time_grain_sqla":"P1D","temporal_columns_lookup":{"emission_time":true},"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Correct - Attempts","optionName":"metric_rqulghfc2m_gtwrvu4imq","sqlExpression":"SUM(CASE - WHEN success THEN attempts ELSE 0 END)"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"Incorrect - Attempts","optionName":"metric_2pn4wmt4mhw_d3bfmf9hpqi","sqlExpression":"SUM(CASE - WHEN NOT success THEN attempts ELSE 0 END)"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"% - Correct","optionName":"metric_rxhpd0zy3a_l5nc215rcs8","sqlExpression":" ROUND(\n (SUM(CASE - WHEN success THEN attempts ELSE 0 END)) /\n SUM(attempts), 2\n )"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"% - Incorrect","optionName":"metric_3zuudx7dth3_e3j14ngnjxr","sqlExpression":" ROUND(\n (SUM(CASE - WHEN NOT success THEN attempts ELSE 0 END)) /\n SUM(attempts), 2\n )"}],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"emission_time"}],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1242 + 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: true + conditional_formatting: [] + dashboards: + - 6096 + datasource: 1242__table + extra_form_data: {} + force: false + groupby: + - problem_name_with_location + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Correct Attempts + optionName: metric_rqulghfc2m_gtwrvu4imq + sqlExpression: SUM(CASE WHEN success THEN attempts ELSE 0 END) + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Incorrect Attempts + optionName: metric_2pn4wmt4mhw_d3bfmf9hpqi + sqlExpression: SUM(CASE WHEN NOT success THEN attempts ELSE 0 END) + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: '% Correct' + optionName: metric_rxhpd0zy3a_l5nc215rcs8 + sqlExpression: |2- + ROUND( + (SUM(CASE WHEN success THEN attempts ELSE 0 END)) / + SUM(attempts), 2 + ) + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: '% Incorrect' + optionName: metric_3zuudx7dth3_e3j14ngnjxr + sqlExpression: |2- + ROUND( + (SUM(CASE WHEN NOT success THEN attempts ELSE 0 END)) / + SUM(attempts), 2 + ) + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 2665 + table_timestamp_format: smart_date + temporal_columns_lookup: + emission_time: true + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - problem_name_with_location + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Correct Attempts + optionName: metric_rqulghfc2m_gtwrvu4imq + sqlExpression: SUM(CASE WHEN success THEN attempts ELSE 0 END) + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Incorrect Attempts + optionName: metric_2pn4wmt4mhw_d3bfmf9hpqi + sqlExpression: SUM(CASE WHEN NOT success THEN attempts ELSE 0 END) + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: '% Correct' + optionName: metric_rxhpd0zy3a_l5nc215rcs8 + sqlExpression: |2- + ROUND( + (SUM(CASE WHEN success THEN attempts ELSE 0 END)) / + SUM(attempts), 2 + ) + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: '% Incorrect' + optionName: metric_3zuudx7dth3_e3j14ngnjxr + sqlExpression: |2- + ROUND( + (SUM(CASE WHEN NOT success THEN attempts ELSE 0 END)) / + SUM(attempts), 2 + ) + order_desc: true + orderby: + - - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: Correct Attempts + optionName: metric_rqulghfc2m_gtwrvu4imq + sqlExpression: SUM(CASE WHEN success THEN attempts ELSE 0 END) + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Problem Results (at-risk) uuid: 003e60b9-907d-4002-bf2e-7d315225ec29 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_interactions.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_interactions.yaml index 36770c0de..cff5a13fd 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_interactions.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problem_interactions.yaml @@ -17,6 +17,7 @@ params: sqlExpression: null subject: emission_time all_columns: [] + annotation_layers: [] color_pn: true column_config: Avg Attempts: @@ -80,42 +81,133 @@ params: emission_time: true time_grain_sqla: P1M viz_type: table -query_context: "{\"datasource\":{\"id\":373,\"type\":\"table\"},\"force\":false,\"\ - queries\":[{\"filters\":[{\"col\":\"emission_time\",\"op\":\"TEMPORAL_RANGE\",\"\ - val\":\"No filter\"}],\"extras\":{\"time_grain_sqla\":\"P1M\",\"having\":\"\",\"\ - where\":\"\"},\"applied_time_extras\":{},\"columns\":[\"problem_link\",\"problem_name_with_location\"\ - ,{\"datasourceWarning\":false,\"expressionType\":\"SQL\",\"label\":\"Graded\",\"\ - sqlExpression\":\"case when graded then 'Graded'\\nelse 'Ungraded'\\nend\"}],\"\ - metrics\":[\"number_of_learners\",\"median_attemps\",\"avg_attemps\"],\"orderby\"\ - :[[\"number_of_learners\",false]],\"annotation_layers\":[],\"row_limit\":1000,\"\ - series_limit\":0,\"order_desc\":true,\"url_params\":{},\"custom_params\":{},\"custom_form_data\"\ - :{},\"post_processing\":[]}],\"form_data\":{\"datasource\":\"373__table\",\"viz_type\"\ - :\"table\",\"slice_id\":410,\"query_mode\":\"aggregate\",\"groupby\":[\"problem_link\"\ - ,\"problem_name_with_location\",{\"datasourceWarning\":false,\"expressionType\"\ - :\"SQL\",\"label\":\"Graded\",\"sqlExpression\":\"case when graded then 'Graded'\\\ - nelse 'Ungraded'\\nend\"}],\"time_grain_sqla\":\"P1M\",\"temporal_columns_lookup\"\ - :{\"emission_time\":true},\"metrics\":[\"number_of_learners\",\"median_attemps\"\ - ,\"avg_attemps\"],\"all_columns\":[],\"percent_metrics\":[],\"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\"}],\"order_by_cols\":[],\"row_limit\":1000,\"server_page_length\"\ - :10,\"order_desc\":true,\"table_timestamp_format\":\"smart_date\",\"show_cell_bars\"\ - :true,\"color_pn\":true,\"column_config\":{\"Avg Attempts\":{\"d3NumberFormat\"\ - :\",d\",\"d3SmallNumberFormat\":\",d\"},\"Median of Attempts\":{\"d3NumberFormat\"\ - :\",d\",\"d3SmallNumberFormat\":\",.1%\"},\"Number of Learners who attemped the\ - \ problem\":{\"d3NumberFormat\":\",d\",\"d3SmallNumberFormat\":\",d\"}},\"conditional_formatting\"\ - :[{\"colorScheme\":\"#ACE1C4\",\"column\":\"Avg Attempts\",\"operator\":\"=\",\"\ - targetValue\":1},{\"colorScheme\":\"#FDE380\",\"column\":\"Avg Attempts\",\"operator\"\ - :\"\u2264 x \u2264\",\"targetValueLeft\":\"2\",\"targetValueRight\":\"4\"},{\"colorScheme\"\ - :\"#EFA1AA\",\"column\":\"Avg Attempts\",\"operator\":\">\",\"targetValue\":4},{\"\ - colorScheme\":\"#ACE1C4\",\"column\":\"Median of Attempts\",\"operator\":\"<\",\"\ - targetValue\":3},{\"colorScheme\":\"#FDE380\",\"column\":\"Median of Attempts\"\ - ,\"operator\":\"\u2264 x \u2264\",\"targetValueLeft\":\"3\",\"targetValueRight\"\ - :\"5\"},{\"colorScheme\":\"#EFA1AA\",\"column\":\"Median of Attempts\",\"operator\"\ - :\">\",\"targetValue\":5}],\"extra_form_data\":{},\"dashboards\":[629],\"force\"\ - :false,\"result_format\":\"json\",\"result_type\":\"full\"},\"result_format\":\"\ - json\",\"result_type\":\"full\"}" +query_context: + datasource: + id: 373 + 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: [] + color_pn: true + column_config: + Avg Attempts: + d3NumberFormat: ',d' + d3SmallNumberFormat: ',d' + Median of Attempts: + d3NumberFormat: ',d' + d3SmallNumberFormat: ',.1%' + Number of Learners who attemped the problem: + d3NumberFormat: ',d' + d3SmallNumberFormat: ',d' + conditional_formatting: + - colorScheme: '#ACE1C4' + column: Avg Attempts + operator: '=' + targetValue: 1 + - colorScheme: '#FDE380' + column: Avg Attempts + operator: "\u2264 x \u2264" + targetValueLeft: '2' + targetValueRight: '4' + - colorScheme: '#EFA1AA' + column: Avg Attempts + operator: '>' + targetValue: 4 + - colorScheme: '#ACE1C4' + column: Median of Attempts + operator: < + targetValue: 3 + - colorScheme: '#FDE380' + column: Median of Attempts + operator: "\u2264 x \u2264" + targetValueLeft: '3' + targetValueRight: '5' + - colorScheme: '#EFA1AA' + column: Median of Attempts + operator: '>' + targetValue: 5 + dashboards: + - 629 + datasource: 373__table + extra_form_data: {} + force: false + groupby: + - problem_link + - problem_name_with_location + - datasourceWarning: false + expressionType: SQL + label: Graded + sqlExpression: |- + case when graded then 'Graded' + else 'Ungraded' + end + metrics: + - number_of_learners + - median_attemps + - avg_attemps + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 410 + table_timestamp_format: smart_date + temporal_columns_lookup: + emission_time: true + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - problem_link + - problem_name_with_location + - datasourceWarning: false + expressionType: SQL + label: Graded + sqlExpression: |- + case when graded then 'Graded' + else 'Ungraded' + end + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - number_of_learners + - median_attemps + - avg_attemps + order_desc: true + orderby: + - - number_of_learners + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Problem interactions uuid: ba14d2ea-8c53-4f79-aa1b-434011f3c725 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section.yaml index 7d05b2a12..6e2f2e7a1 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section.yaml @@ -29,6 +29,7 @@ params: sqlExpression: null subject: content_level all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#FDE380' @@ -58,8 +59,103 @@ params: temporal_columns_lookup: {} time_grain_sqla: P1M viz_type: table -query_context: |- - {"datasource":{"id":80,"type":"table"},"force":false,"queries":[{"filters":[{"col":"content_level","op":"==","val":"section"}],"extras":{"time_grain_sqla":"P1M","having":"","where":"(`section_subsection_name` <> '')"},"applied_time_extras":{},"columns":[{"label":"Section Name","sqlExpression":"section_subsection_name","expressionType":"SQL"}],"metrics":["attempted_all_problems","attempted_at_least_one_problem"],"orderby":[["attempted_all_problems",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"80__table","viz_type":"table","slice_id":154,"query_mode":"aggregate","groupby":[{"label":"Section Name","sqlExpression":"section_subsection_name","expressionType":"SQL"}],"time_grain_sqla":"P1M","temporal_columns_lookup":{},"metrics":["attempted_all_problems","attempted_at_least_one_problem"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"expressionType":"SQL","sqlExpression":"`section_subsection_name` <> ''","clause":"WHERE","subject":null,"operator":null,"comparator":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_pl0jq8ekze_4ayga9dbjat"},{"expressionType":"SIMPLE","subject":"content_level","operator":"==","operatorId":"EQUALS","comparator":"section","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_1j70lybkgj1_ygpas42b05"}],"order_by_cols":[],"row_limit":10000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[{"column":"attempted_at_least_one_problem","colorScheme":"#FDE380","operator":">","targetValue":0},{"column":"attempted_all_problems","colorScheme":"#ACE1C4","operator":">","targetValue":0}],"extra_form_data":{},"dashboards":[42],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 80 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SQL + filterOptionName: filter_pl0jq8ekze_4ayga9dbjat + isExtra: false + isNew: false + operator: null + sqlExpression: |- + `section_subsection_name` <> '' + subject: null + - clause: WHERE + comparator: section + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_1j70lybkgj1_ygpas42b05 + isExtra: false + isNew: false + operator: == + operatorId: EQUALS + sqlExpression: null + subject: content_level + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#FDE380' + column: attempted_at_least_one_problem + operator: '>' + targetValue: 0 + - colorScheme: '#ACE1C4' + column: attempted_all_problems + operator: '>' + targetValue: 0 + dashboards: + - 42 + datasource: 80__table + extra_form_data: {} + force: false + groupby: + - expressionType: SQL + label: Section Name + sqlExpression: section_subsection_name + metrics: + - attempted_all_problems + - attempted_at_least_one_problem + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 10000 + server_page_length: 10 + show_cell_bars: true + slice_id: 154 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - expressionType: SQL + label: Section Name + sqlExpression: section_subsection_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: |- + (`section_subsection_name` <> '') + filters: + - col: content_level + op: == + val: section + metrics: + - attempted_all_problems + - attempted_at_least_one_problem + order_desc: true + orderby: + - - attempted_all_problems + - false + post_processing: [] + row_limit: 10000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Problems attempted per section uuid: 1d00bbc3-f0d5-4c17-b9f3-8cc4d5516950 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section_subsection.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section_subsection.yaml index a5bc4f699..a5f11e223 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section_subsection.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section_subsection.yaml @@ -58,8 +58,117 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: |- - {"datasource":{"id":11,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1M","having":"","where":"(`section_subsection_name` <> '')"},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","sqlExpression":"section_subsection_name","label":"section_subsection_name","expressionType":"SQL"}],"metrics":["attempted_at_least_one_problem","attempted_all_problems"],"orderby":[["attempted_at_least_one_problem",false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["section_subsection_name"],"columns":[],"aggregates":{"attempted_at_least_one_problem":{"operator":"mean"},"attempted_all_problems":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"11__table","viz_type":"echarts_timeseries_bar","slice_id":21,"x_axis":"section_subsection_name","time_grain_sqla":"P1M","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["attempted_at_least_one_problem","attempted_all_problems"],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SQL","filterOptionName":"filter_pl0jq8ekze_4ayga9dbjat","isExtra":false,"isNew":false,"operator":null,"sqlExpression":"`section_subsection_name` <> ''","subject":null}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title":"Number of learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","show_value":false,"only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":0,"y_axis_format":",d","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[41,43],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 11 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SQL + filterOptionName: filter_pl0jq8ekze_4ayga9dbjat + isExtra: false + isNew: false + operator: null + sqlExpression: |- + `section_subsection_name` <> '' + subject: null + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 41 + - 43 + datasource: 11__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - attempted_at_least_one_problem + - attempted_all_problems + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + show_value: false + slice_id: 21 + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: section_subsection_name + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: ',d' + y_axis_title: Number of learners + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: section_subsection_name + sqlExpression: section_subsection_name + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: |- + (`section_subsection_name` <> '') + filters: [] + metrics: + - attempted_at_least_one_problem + - attempted_all_problems + order_desc: true + orderby: + - - attempted_at_least_one_problem + - false + post_processing: + - operation: pivot + options: + aggregates: + attempted_all_problems: + operator: mean + attempted_at_least_one_problem: + operator: mean + columns: [] + drop_missing_columns: false + index: + - section_subsection_name + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Problems attempted per section/subsection uuid: 8cdcd4aa-1fa2-41dc-b38d-f1112134592e version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section_subsection_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section_subsection_at-risk.yaml index 2e3c1628e..b0cd9a228 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section_subsection_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_section_subsection_at-risk.yaml @@ -62,8 +62,143 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: |- - {"datasource":{"id":1175,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"section_subsection_name","label":"section_subsection_name","expressionType":"SQL"}],"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one problem attempted","optionName":"metric_v9nu1yjhmes_t1ptoyn64ud","sqlExpression":"countIf(\"section_subsection_problem_engagement\" = 'At least one problem attempted' or \"section_subsection_problem_engagement\" = 'All problems attempted')"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"All problems attempted","optionName":"metric_7b15u1sw9p_3a441hsri4m","sqlExpression":"countIf(\"section_subsection_problem_engagement\" = 'All problems attempted')"}],"orderby":[[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one problem attempted","optionName":"metric_v9nu1yjhmes_t1ptoyn64ud","sqlExpression":"countIf(\"section_subsection_problem_engagement\" = 'At least one problem attempted' or \"section_subsection_problem_engagement\" = 'All problems attempted')"},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["section_subsection_name"],"columns":[],"aggregates":{"At least one problem attempted":{"operator":"mean"},"All problems attempted":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1175__table","viz_type":"echarts_timeseries_bar","slice_id":2108,"x_axis":"section_subsection_name","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one problem attempted","optionName":"metric_v9nu1yjhmes_t1ptoyn64ud","sqlExpression":"countIf(\"section_subsection_problem_engagement\" = 'At least one problem attempted' or \"section_subsection_problem_engagement\" = 'All problems attempted')"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"All problems attempted","optionName":"metric_7b15u1sw9p_3a441hsri4m","sqlExpression":"countIf(\"section_subsection_problem_engagement\" = 'All problems attempted')"}],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title":"Number of learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 1175 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1175__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one problem attempted + optionName: metric_v9nu1yjhmes_t1ptoyn64ud + sqlExpression: |- + countIf("section_subsection_problem_engagement" = 'At least one problem attempted' or "section_subsection_problem_engagement" = 'All problems attempted') + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: All problems attempted + optionName: metric_7b15u1sw9p_3a441hsri4m + sqlExpression: |- + countIf("section_subsection_problem_engagement" = 'All problems attempted') + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2108 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 45 + x_axis: section_subsection_name + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of learners + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: section_subsection_name + sqlExpression: section_subsection_name + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one problem attempted + optionName: metric_v9nu1yjhmes_t1ptoyn64ud + sqlExpression: |- + countIf("section_subsection_problem_engagement" = 'At least one problem attempted' or "section_subsection_problem_engagement" = 'All problems attempted') + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: All problems attempted + optionName: metric_7b15u1sw9p_3a441hsri4m + sqlExpression: |- + countIf("section_subsection_problem_engagement" = 'All problems attempted') + order_desc: true + orderby: + - - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one problem attempted + optionName: metric_v9nu1yjhmes_t1ptoyn64ud + sqlExpression: |- + countIf("section_subsection_problem_engagement" = 'At least one problem attempted' or "section_subsection_problem_engagement" = 'All problems attempted') + - false + post_processing: + - operation: pivot + options: + aggregates: + All problems attempted: + operator: mean + At least one problem attempted: + operator: mean + columns: [] + drop_missing_columns: false + index: + - section_subsection_name + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Problems attempted per section/subsection (at-risk) uuid: 5015477d-d166-4823-868d-c7883d195bab version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_subsection.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_subsection.yaml index fc9a88582..16fd07e97 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_subsection.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Problems_attempted_per_subsection.yaml @@ -29,6 +29,7 @@ params: sqlExpression: null subject: content_level all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#FDE380' @@ -58,8 +59,103 @@ params: temporal_columns_lookup: {} time_grain_sqla: P1M viz_type: table -query_context: |- - {"datasource":{"id":80,"type":"table"},"force":false,"queries":[{"filters":[{"col":"content_level","op":"==","val":"subsection"}],"extras":{"time_grain_sqla":"P1M","having":"","where":"(`section_subsection_name` <> '')"},"applied_time_extras":{},"columns":[{"expressionType":"SQL","label":"Subsection Name","sqlExpression":"section_subsection_name"}],"metrics":["attempted_all_problems","attempted_at_least_one_problem"],"orderby":[["attempted_all_problems",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"80__table","viz_type":"table","slice_id":194,"query_mode":"aggregate","groupby":[{"expressionType":"SQL","label":"Subsection Name","sqlExpression":"section_subsection_name"}],"time_grain_sqla":"P1M","temporal_columns_lookup":{},"metrics":["attempted_all_problems","attempted_at_least_one_problem"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"expressionType":"SQL","sqlExpression":"`section_subsection_name` <> ''","clause":"WHERE","subject":null,"operator":null,"comparator":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_pl0jq8ekze_4ayga9dbjat"},{"expressionType":"SIMPLE","subject":"content_level","operator":"==","operatorId":"EQUALS","comparator":"subsection","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_1j70lybkgj1_ygpas42b05"}],"order_by_cols":[],"row_limit":10000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[{"colorScheme":"#FDE380","column":"attempted_at_least_one_problem","operator":">","targetValue":0},{"colorScheme":"#ACE1C4","column":"attempted_all_problems","operator":">","targetValue":0}],"extra_form_data":{},"dashboards":[42],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 80 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SQL + filterOptionName: filter_pl0jq8ekze_4ayga9dbjat + isExtra: false + isNew: false + operator: null + sqlExpression: |- + `section_subsection_name` <> '' + subject: null + - clause: WHERE + comparator: subsection + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_1j70lybkgj1_ygpas42b05 + isExtra: false + isNew: false + operator: == + operatorId: EQUALS + sqlExpression: null + subject: content_level + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#FDE380' + column: attempted_at_least_one_problem + operator: '>' + targetValue: 0 + - colorScheme: '#ACE1C4' + column: attempted_all_problems + operator: '>' + targetValue: 0 + dashboards: + - 42 + datasource: 80__table + extra_form_data: {} + force: false + groupby: + - expressionType: SQL + label: Subsection Name + sqlExpression: section_subsection_name + metrics: + - attempted_all_problems + - attempted_at_least_one_problem + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 10000 + server_page_length: 10 + show_cell_bars: true + slice_id: 194 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - expressionType: SQL + label: Subsection Name + sqlExpression: section_subsection_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: |- + (`section_subsection_name` <> '') + filters: + - col: content_level + op: == + val: subsection + metrics: + - attempted_all_problems + - attempted_at_least_one_problem + order_desc: true + orderby: + - - attempted_all_problems + - false + post_processing: [] + row_limit: 10000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Problems attempted per subsection uuid: b3516698-35fe-4934-862a-7f5fb869d322 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Section_Summary.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Section_Summary.yaml index 223c812ae..ab6c842d7 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Section_Summary.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Section_Summary.yaml @@ -12,6 +12,7 @@ params: operator: TEMPORAL_RANGE subject: visited_on all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#ACE1C4' @@ -40,26 +41,82 @@ params: visited_on: true time_grain_sqla: P1D viz_type: table -query_context: "{\"datasource\":{\"id\":61,\"type\":\"table\"},\"force\":false,\"\ - queries\":[{\"filters\":[{\"col\":\"visited_on\",\"op\":\"TEMPORAL_RANGE\",\"val\"\ - :\"No filter\"}],\"extras\":{\"time_grain_sqla\":\"P1D\",\"having\":\"\",\"where\"\ - :\"\"},\"applied_time_extras\":{},\"columns\":[\"section_with_name\"],\"metrics\"\ - :[\"number_of_learners\",\"views\"],\"orderby\":[[\"number_of_learners\",false]],\"\ - annotation_layers\":[],\"row_limit\":1000,\"series_limit\":0,\"order_desc\":true,\"\ - url_params\":{},\"custom_params\":{},\"custom_form_data\":{},\"post_processing\"\ - :[]}],\"form_data\":{\"datasource\":\"61__table\",\"viz_type\":\"table\",\"slice_id\"\ - :503,\"query_mode\":\"aggregate\",\"groupby\":[\"section_with_name\"],\"time_grain_sqla\"\ - :\"P1D\",\"temporal_columns_lookup\":{\"visited_on\":true},\"metrics\":[\"number_of_learners\"\ - ,\"views\"],\"all_columns\":[],\"percent_metrics\":[],\"adhoc_filters\":[{\"clause\"\ - :\"WHERE\",\"comparator\":\"No filter\",\"expressionType\":\"SIMPLE\",\"operator\"\ - :\"TEMPORAL_RANGE\",\"subject\":\"visited_on\"}],\"order_by_cols\":[],\"row_limit\"\ - :1000,\"server_page_length\":10,\"order_desc\":true,\"table_timestamp_format\":\"\ - smart_date\",\"show_cell_bars\":true,\"color_pn\":true,\"conditional_formatting\"\ - :[{\"colorScheme\":\"#ACE1C4\",\"column\":\"Number of Learners\",\"operator\":\"\ - \u2265\",\"targetValue\":1},{\"colorScheme\":\"#ACE1C4\",\"column\":\"Views\",\"\ - operator\":\"\u2265\",\"targetValue\":1}],\"extra_form_data\":{},\"dashboards\"\ - :[629],\"force\":false,\"result_format\":\"json\",\"result_type\":\"full\"},\"result_format\"\ - :\"json\",\"result_type\":\"full\"}" +query_context: + datasource: + id: 61 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#ACE1C4' + column: Number of Learners + operator: "\u2265" + targetValue: 1 + - colorScheme: '#ACE1C4' + column: Views + operator: "\u2265" + targetValue: 1 + dashboards: + - 629 + datasource: 61__table + extra_form_data: {} + force: false + groupby: + - section_with_name + metrics: + - number_of_learners + - views + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 503 + table_timestamp_format: smart_date + temporal_columns_lookup: + visited_on: true + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - section_with_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - number_of_learners + - views + order_desc: true + orderby: + - - number_of_learners + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Section Summary uuid: 47417136-acd1-44a1-b41e-644eb2c237c3 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Section_Summary_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Section_Summary_at-risk.yaml index 9d8072924..1c0ec7d8d 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Section_Summary_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Section_Summary_at-risk.yaml @@ -12,6 +12,7 @@ params: operator: TEMPORAL_RANGE subject: visited_on all_columns: [] + annotation_layers: [] color_pn: true extra_form_data: {} groupby: @@ -77,17 +78,188 @@ params: visited_on: true time_grain_sqla: P1D viz_type: table -query_context: '{"datasource":{"id":1228,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["section_with_name"],"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_cmj95evwbof_phutwphkfc","sqlExpression":null},{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Views","optionName":"metric_dofjss1d27g_m5ygw2l08fe","sqlExpression":null}],"orderby":[[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_cmj95evwbof_phutwphkfc","sqlExpression":null},false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"1228__table","viz_type":"table","slice_id":2208,"query_mode":"aggregate","groupby":["section_with_name"],"time_grain_sqla":"P1D","temporal_columns_lookup":{"visited_on":true},"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_cmj95evwbof_phutwphkfc","sqlExpression":null},{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Views","optionName":"metric_dofjss1d27g_m5ygw2l08fe","sqlExpression":null}],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"visited_on"}],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1228 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + all_columns: [] + color_pn: true + dashboards: + - 6096 + datasource: 1228__table + extra_form_data: {} + force: false + groupby: + - section_with_name + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_cmj95evwbof_phutwphkfc + sqlExpression: null + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Views + optionName: metric_dofjss1d27g_m5ygw2l08fe + sqlExpression: null + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 2208 + table_timestamp_format: smart_date + temporal_columns_lookup: + visited_on: true + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - section_with_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_cmj95evwbof_phutwphkfc + sqlExpression: null + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Views + optionName: metric_dofjss1d27g_m5ygw2l08fe + sqlExpression: null + order_desc: true + orderby: + - - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_cmj95evwbof_phutwphkfc + sqlExpression: null + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Section Summary (at-risk) uuid: eec3a432-153f-42bc-8d37-52b200a77acd version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Subsection_Summary.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Subsection_Summary.yaml index 247fb03b7..18886bcf4 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Subsection_Summary.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Subsection_Summary.yaml @@ -12,6 +12,7 @@ params: operator: TEMPORAL_RANGE subject: visited_on all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#ACE1C4' @@ -41,26 +42,84 @@ params: visited_on: true time_grain_sqla: P1D viz_type: table -query_context: "{\"datasource\":{\"id\":61,\"type\":\"table\"},\"force\":false,\"\ - queries\":[{\"filters\":[{\"col\":\"visited_on\",\"op\":\"TEMPORAL_RANGE\",\"val\"\ - :\"No filter\"}],\"extras\":{\"time_grain_sqla\":\"P1D\",\"having\":\"\",\"where\"\ - :\"\"},\"applied_time_extras\":{},\"columns\":[\"section_with_name\",\"subsection_with_name\"\ - ],\"metrics\":[\"number_of_learners\",\"views\"],\"orderby\":[[\"number_of_learners\"\ - ,false]],\"annotation_layers\":[],\"row_limit\":1000,\"series_limit\":0,\"order_desc\"\ - :true,\"url_params\":{},\"custom_params\":{},\"custom_form_data\":{},\"post_processing\"\ - :[]}],\"form_data\":{\"datasource\":\"61__table\",\"viz_type\":\"table\",\"slice_id\"\ - :26,\"query_mode\":\"aggregate\",\"groupby\":[\"section_with_name\",\"subsection_with_name\"\ - ],\"time_grain_sqla\":\"P1D\",\"temporal_columns_lookup\":{\"visited_on\":true},\"\ - metrics\":[\"number_of_learners\",\"views\"],\"all_columns\":[],\"percent_metrics\"\ - :[],\"adhoc_filters\":[{\"clause\":\"WHERE\",\"comparator\":\"No filter\",\"expressionType\"\ - :\"SIMPLE\",\"operator\":\"TEMPORAL_RANGE\",\"subject\":\"visited_on\"}],\"order_by_cols\"\ - :[],\"row_limit\":1000,\"server_page_length\":10,\"order_desc\":true,\"table_timestamp_format\"\ - :\"smart_date\",\"show_cell_bars\":true,\"color_pn\":true,\"conditional_formatting\"\ - :[{\"colorScheme\":\"#ACE1C4\",\"column\":\"Number of Learners\",\"operator\":\"\ - \u2265\",\"targetValue\":1},{\"colorScheme\":\"#ACE1C4\",\"column\":\"Views\",\"\ - operator\":\"\u2265\",\"targetValue\":1}],\"extra_form_data\":{},\"dashboards\"\ - :[629],\"force\":false,\"result_format\":\"json\",\"result_type\":\"full\"},\"result_format\"\ - :\"json\",\"result_type\":\"full\"}" +query_context: + datasource: + id: 61 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#ACE1C4' + column: Number of Learners + operator: "\u2265" + targetValue: 1 + - colorScheme: '#ACE1C4' + column: Views + operator: "\u2265" + targetValue: 1 + dashboards: + - 629 + datasource: 61__table + extra_form_data: {} + force: false + groupby: + - section_with_name + - subsection_with_name + metrics: + - number_of_learners + - views + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 26 + table_timestamp_format: smart_date + temporal_columns_lookup: + visited_on: true + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - section_with_name + - subsection_with_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - number_of_learners + - views + order_desc: true + orderby: + - - number_of_learners + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Subsection Summary uuid: 2a8d96be-687d-4918-98fe-ae9fbd599152 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Subsection_Summary_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Subsection_Summary_at-risk.yaml index bee41a466..d7b9cd787 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Subsection_Summary_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Subsection_Summary_at-risk.yaml @@ -12,6 +12,7 @@ params: operator: TEMPORAL_RANGE subject: visited_on all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: [] extra_form_data: {} @@ -79,17 +80,191 @@ params: visited_on: true time_grain_sqla: P1D viz_type: table -query_context: '{"datasource":{"id":1228,"type":"table"},"force":false,"queries":[{"filters":[{"col":"visited_on","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["section_with_name","subsection_with_name"],"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_snz56umciah_dlk81mwz9gk","sqlExpression":null},{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Views","optionName":"metric_nb7u6emwohm_5dolci3xkms","sqlExpression":null}],"orderby":[[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_snz56umciah_dlk81mwz9gk","sqlExpression":null},false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"1228__table","viz_type":"table","slice_id":2210,"query_mode":"aggregate","groupby":["section_with_name","subsection_with_name"],"time_grain_sqla":"P1D","temporal_columns_lookup":{"visited_on":true},"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"actor_id","description":null,"expression":"","filterable":true,"groupby":true,"id":14001,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"String","type_generic":1,"verbose_name":"Actor - ID","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Number - of Learners","optionName":"metric_snz56umciah_dlk81mwz9gk","sqlExpression":null},{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"page_count","description":null,"expression":"","filterable":true,"groupby":true,"id":13997,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"UInt64","type_generic":0,"verbose_name":"Page - Count","warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":true,"label":"Views","optionName":"metric_nb7u6emwohm_5dolci3xkms","sqlExpression":null}],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"visited_on"}],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[],"extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1228 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: visited_on + all_columns: [] + color_pn: true + conditional_formatting: [] + dashboards: + - 6096 + datasource: 1228__table + extra_form_data: {} + force: false + groupby: + - section_with_name + - subsection_with_name + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_snz56umciah_dlk81mwz9gk + sqlExpression: null + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Views + optionName: metric_nb7u6emwohm_5dolci3xkms + sqlExpression: null + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 2210 + table_timestamp_format: smart_date + temporal_columns_lookup: + visited_on: true + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - section_with_name + - subsection_with_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: visited_on + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_snz56umciah_dlk81mwz9gk + sqlExpression: null + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: page_count + description: null + expression: '' + filterable: true + groupby: true + id: 13997 + is_certified: false + is_dttm: false + python_date_format: null + type: UInt64 + type_generic: 0 + verbose_name: Page Count + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Views + optionName: metric_nb7u6emwohm_5dolci3xkms + sqlExpression: null + order_desc: true + orderby: + - - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: actor_id + description: null + expression: '' + filterable: true + groupby: true + id: 14001 + is_certified: false + is_dttm: false + python_date_format: null + type: String + type_generic: 1 + verbose_name: Actor ID + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Learners + optionName: metric_snz56umciah_dlk81mwz9gk + sqlExpression: null + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Subsection Summary (at-risk) uuid: f60f12f3-f4f1-41af-8b10-d2cf3cb94f69 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Views_by_Section_Subsection_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Views_by_Section_Subsection_at-risk.yaml index ae2986635..b7a5b487e 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Views_by_Section_Subsection_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Views_by_Section_Subsection_at-risk.yaml @@ -12,6 +12,7 @@ params: operator: TEMPORAL_RANGE subject: emission_time all_columns: [] + annotation_layers: [] color_pn: true extra_form_data: {} groupby: @@ -37,13 +38,85 @@ params: emission_time: true time_grain_sqla: P1M viz_type: table -query_context: '{"datasource":{"id":1288,"type":"table"},"force":false,"queries":[{"filters":[{"col":"emission_time","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"expressionType":"SQL","label":"Section - Name","sqlExpression":"section_with_name"},{"expressionType":"SQL","label":"Subsection - Name","sqlExpression":"subsection_with_name"},"video_name_with_location"],"metrics":["unique_watchers","total_plays"],"orderby":[["unique_watchers",false]],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"1288__table","viz_type":"table","slice_id":2705,"query_mode":"aggregate","groupby":[{"expressionType":"SQL","label":"Section - Name","sqlExpression":"section_with_name"},{"expressionType":"SQL","label":"Subsection - Name","sqlExpression":"subsection_with_name"},"video_name_with_location"],"time_grain_sqla":"P1M","temporal_columns_lookup":{"emission_time":true},"metrics":["unique_watchers","total_plays"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"emission_time"}],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1288 + 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: true + dashboards: + - 6096 + datasource: 1288__table + extra_form_data: {} + force: false + groupby: + - expressionType: SQL + label: Section Name + sqlExpression: section_with_name + - expressionType: SQL + label: Subsection Name + sqlExpression: subsection_with_name + - video_name_with_location + metrics: + - unique_watchers + - total_plays + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 2705 + table_timestamp_format: smart_date + temporal_columns_lookup: + emission_time: true + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - expressionType: SQL + label: Section Name + sqlExpression: section_with_name + - expressionType: SQL + label: Subsection Name + sqlExpression: subsection_with_name + - video_name_with_location + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - unique_watchers + - total_plays + order_desc: true + orderby: + - - unique_watchers + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Video Views by Section/Subsection (at-risk) uuid: 8266ce91-d0b3-4c3b-aa3d-2be4d90e64a8 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Views_per_Section_Subsection_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Views_per_Section_Subsection_at-risk.yaml index 84ef311b3..fef68b7d9 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Views_per_Section_Subsection_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_Views_per_Section_Subsection_at-risk.yaml @@ -62,8 +62,143 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: |- - {"datasource":{"id":1201,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"section_subsection_name","label":"section_subsection_name","expressionType":"SQL"}],"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one video viewed","optionName":"metric_pw80mjg37y_lphzw7gkrx","sqlExpression":"countIf(\"section_subsection_video_engagement\" = 'At least one video viewed' or \"section_subsection_video_engagement\" = 'All videos viewed')"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"All videos viewed","optionName":"metric_smvgjzqh7lg_ida1817fs1","sqlExpression":"countIf(\"section_subsection_video_engagement\" = 'All videos viewed')"}],"orderby":[[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one video viewed","optionName":"metric_pw80mjg37y_lphzw7gkrx","sqlExpression":"countIf(\"section_subsection_video_engagement\" = 'At least one video viewed' or \"section_subsection_video_engagement\" = 'All videos viewed')"},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["section_subsection_name"],"columns":[],"aggregates":{"At least one video viewed":{"operator":"mean"},"All videos viewed":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1201__table","viz_type":"echarts_timeseries_bar","slice_id":2707,"x_axis":"section_subsection_name","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"At least one video viewed","optionName":"metric_pw80mjg37y_lphzw7gkrx","sqlExpression":"countIf(\"section_subsection_video_engagement\" = 'At least one video viewed' or \"section_subsection_video_engagement\" = 'All videos viewed')"},{"aggregate":null,"column":null,"datasourceWarning":false,"expressionType":"SQL","hasCustomLabel":true,"label":"All videos viewed","optionName":"metric_smvgjzqh7lg_ida1817fs1","sqlExpression":"countIf(\"section_subsection_video_engagement\" = 'All videos viewed')"}],"groupby":[],"adhoc_filters":[],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title":"Number of Learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 1201 + type: table + force: false + form_data: + adhoc_filters: [] + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1201__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one video viewed + optionName: metric_pw80mjg37y_lphzw7gkrx + sqlExpression: |- + countIf("section_subsection_video_engagement" = 'At least one video viewed' or "section_subsection_video_engagement" = 'All videos viewed') + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: All videos viewed + optionName: metric_smvgjzqh7lg_ida1817fs1 + sqlExpression: |- + countIf("section_subsection_video_engagement" = 'All videos viewed') + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2707 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 45 + x_axis: section_subsection_name + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of Learners + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: section_subsection_name + sqlExpression: section_subsection_name + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: [] + metrics: + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one video viewed + optionName: metric_pw80mjg37y_lphzw7gkrx + sqlExpression: |- + countIf("section_subsection_video_engagement" = 'At least one video viewed' or "section_subsection_video_engagement" = 'All videos viewed') + - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: All videos viewed + optionName: metric_smvgjzqh7lg_ida1817fs1 + sqlExpression: |- + countIf("section_subsection_video_engagement" = 'All videos viewed') + order_desc: true + orderby: + - - aggregate: null + column: null + datasourceWarning: false + expressionType: SQL + hasCustomLabel: true + label: At least one video viewed + optionName: metric_pw80mjg37y_lphzw7gkrx + sqlExpression: |- + countIf("section_subsection_video_engagement" = 'At least one video viewed' or "section_subsection_video_engagement" = 'All videos viewed') + - false + post_processing: + - operation: pivot + options: + aggregates: + All videos viewed: + operator: mean + At least one video viewed: + operator: mean + columns: [] + drop_missing_columns: false + index: + - section_subsection_name + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Video Views per Section/Subsection (at-risk) uuid: 5d0329f4-2a4a-4cd4-8b4e-926568d1bbcc version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_by_section_subsection.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_by_section_subsection.yaml index 0dd705429..67fb87889 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_by_section_subsection.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_by_section_subsection.yaml @@ -28,6 +28,7 @@ params: `section_with_name` <> '' and `subsection_with_name` <> '' subject: null all_columns: [] + annotation_layers: [] color_pn: true column_config: total_plays: @@ -66,35 +67,112 @@ params: emission_time: true time_grain_sqla: P1M viz_type: table -query_context: "{\"datasource\":{\"id\":303,\"type\":\"table\"},\"force\":false,\"\ - queries\":[{\"filters\":[{\"col\":\"emission_time\",\"op\":\"TEMPORAL_RANGE\",\"\ - val\":\"No filter\"}],\"extras\":{\"time_grain_sqla\":\"P1M\",\"having\":\"\",\"\ - where\":\"(`section_with_name` <> '' and `subsection_with_name` <> '')\"},\"applied_time_extras\"\ - :{},\"columns\":[\"section_with_name\",\"subsection_with_name\",\"video_link\",\"\ - video_name_with_location\"],\"metrics\":[\"unique_watchers\",\"total_plays\"],\"\ - orderby\":[[\"unique_watchers\",false]],\"annotation_layers\":[],\"row_limit\":1000,\"\ - series_limit\":0,\"order_desc\":true,\"url_params\":{},\"custom_params\":{},\"custom_form_data\"\ - :{},\"post_processing\":[]}],\"form_data\":{\"datasource\":\"303__table\",\"viz_type\"\ - :\"table\",\"slice_id\":654,\"query_mode\":\"aggregate\",\"groupby\":[\"section_with_name\"\ - ,\"subsection_with_name\",\"video_link\",\"video_name_with_location\"],\"time_grain_sqla\"\ - :\"P1M\",\"temporal_columns_lookup\":{\"emission_time\":true},\"metrics\":[\"unique_watchers\"\ - ,\"total_plays\"],\"all_columns\":[],\"percent_metrics\":[],\"adhoc_filters\":[{\"\ - clause\":\"WHERE\",\"comparator\":\"No filter\",\"datasourceWarning\":false,\"expressionType\"\ - :\"SIMPLE\",\"filterOptionName\":\"filter_4yggyqn5ac9_f64nwk74w1q\",\"isExtra\"\ - :false,\"isNew\":false,\"operator\":\"TEMPORAL_RANGE\",\"sqlExpression\":null,\"\ - subject\":\"emission_time\"},{\"clause\":\"WHERE\",\"comparator\":null,\"datasourceWarning\"\ - :false,\"expressionType\":\"SQL\",\"filterOptionName\":\"filter_jq3b0jknpp_lkbz1g7tcd\"\ - ,\"isExtra\":false,\"isNew\":false,\"operator\":null,\"sqlExpression\":\"`section_with_name`\ - \ <> '' and `subsection_with_name` <> ''\",\"subject\":null}],\"order_by_cols\"\ - :[],\"row_limit\":1000,\"server_page_length\":10,\"order_desc\":true,\"table_timestamp_format\"\ - :\"smart_date\",\"show_cell_bars\":true,\"color_pn\":true,\"column_config\":{\"\ - total_plays\":{\"d3NumberFormat\":\",d\",\"d3SmallNumberFormat\":\",d\"},\"unique_watchers\"\ - :{\"d3NumberFormat\":\",d\",\"d3SmallNumberFormat\":\",d\"}},\"conditional_formatting\"\ - :[{\"colorScheme\":\"#FDE380\",\"column\":\"unique_watchers\",\"operator\":\"\u2265\ - \",\"targetValue\":0},{\"colorScheme\":\"#ACE1C4\",\"column\":\"total_plays\",\"\ - operator\":\"\u2265\",\"targetValue\":0}],\"extra_form_data\":{},\"dashboards\"\ - :[629],\"force\":false,\"result_format\":\"json\",\"result_type\":\"full\"},\"result_format\"\ - :\"json\",\"result_type\":\"full\"}" +query_context: + datasource: + id: 303 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_4yggyqn5ac9_f64nwk74w1q + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SQL + filterOptionName: filter_jq3b0jknpp_lkbz1g7tcd + isExtra: false + isNew: false + operator: null + sqlExpression: |- + `section_with_name` <> '' and `subsection_with_name` <> '' + subject: null + all_columns: [] + color_pn: true + column_config: + total_plays: + d3NumberFormat: ',d' + d3SmallNumberFormat: ',d' + unique_watchers: + d3NumberFormat: ',d' + d3SmallNumberFormat: ',d' + conditional_formatting: + - colorScheme: '#FDE380' + column: unique_watchers + operator: "\u2265" + targetValue: 0 + - colorScheme: '#ACE1C4' + column: total_plays + operator: "\u2265" + targetValue: 0 + dashboards: + - 629 + datasource: 303__table + extra_form_data: {} + force: false + groupby: + - section_with_name + - subsection_with_name + - video_link + - video_name_with_location + metrics: + - unique_watchers + - total_plays + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 654 + table_timestamp_format: smart_date + temporal_columns_lookup: + emission_time: true + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - section_with_name + - subsection_with_name + - video_link + - video_name_with_location + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: |- + (`section_with_name` <> '' and `subsection_with_name` <> '') + filters: + - col: emission_time + op: TEMPORAL_RANGE + val: No filter + metrics: + - unique_watchers + - total_plays + order_desc: true + orderby: + - - unique_watchers + - false + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Video views by section/subsection uuid: c8c363f8-8dbc-4a78-841d-4976f4404884 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_section.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_section.yaml index 31d1147cc..31a102ec6 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_section.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_section.yaml @@ -29,6 +29,7 @@ params: sqlExpression: null subject: content_level all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#ACE1C4' @@ -58,8 +59,103 @@ params: temporal_columns_lookup: {} time_grain_sqla: P1M viz_type: table -query_context: |- - {"datasource":{"id":95,"type":"table"},"force":false,"queries":[{"filters":[{"col":"content_level","op":"==","val":"section"}],"extras":{"time_grain_sqla":"P1M","having":"","where":"(`section_subsection_name` <> '')"},"applied_time_extras":{},"columns":[{"label":"Section Name","sqlExpression":"section_subsection_name","expressionType":"SQL"}],"metrics":["all_videos_viewed","at_least_one_viewed"],"orderby":[["all_videos_viewed",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"95__table","viz_type":"table","slice_id":196,"query_mode":"aggregate","groupby":[{"label":"Section Name","sqlExpression":"section_subsection_name","expressionType":"SQL"}],"time_grain_sqla":"P1M","temporal_columns_lookup":{},"metrics":["all_videos_viewed","at_least_one_viewed"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"expressionType":"SQL","sqlExpression":"`section_subsection_name` <> ''","clause":"WHERE","subject":null,"operator":null,"comparator":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_1eznhnyjr5k_wylhwvlq7z"},{"expressionType":"SIMPLE","subject":"content_level","operator":"==","operatorId":"EQUALS","comparator":"section","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_9uxf3jzunuu_agqd5zk40wm"}],"order_by_cols":[],"row_limit":10000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[{"column":"all_videos_viewed","colorScheme":"#ACE1C4","operator":">","targetValue":0},{"column":"at_least_one_viewed","colorScheme":"#FDE380","operator":">","targetValue":0}],"extra_form_data":{},"dashboards":[42],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 95 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SQL + filterOptionName: filter_1eznhnyjr5k_wylhwvlq7z + isExtra: false + isNew: false + operator: null + sqlExpression: |- + `section_subsection_name` <> '' + subject: null + - clause: WHERE + comparator: section + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_9uxf3jzunuu_agqd5zk40wm + isExtra: false + isNew: false + operator: == + operatorId: EQUALS + sqlExpression: null + subject: content_level + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#ACE1C4' + column: all_videos_viewed + operator: '>' + targetValue: 0 + - colorScheme: '#FDE380' + column: at_least_one_viewed + operator: '>' + targetValue: 0 + dashboards: + - 42 + datasource: 95__table + extra_form_data: {} + force: false + groupby: + - expressionType: SQL + label: Section Name + sqlExpression: section_subsection_name + metrics: + - all_videos_viewed + - at_least_one_viewed + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 10000 + server_page_length: 10 + show_cell_bars: true + slice_id: 196 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - expressionType: SQL + label: Section Name + sqlExpression: section_subsection_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: |- + (`section_subsection_name` <> '') + filters: + - col: content_level + op: == + val: section + metrics: + - all_videos_viewed + - at_least_one_viewed + order_desc: true + orderby: + - - all_videos_viewed + - false + post_processing: [] + row_limit: 10000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Video views per section uuid: 0744f1bf-1636-4735-861b-18a6f1e825a2 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_section_subsection.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_section_subsection.yaml index 42589dfdf..36a08ec6f 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_section_subsection.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_section_subsection.yaml @@ -58,8 +58,117 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: |- - {"datasource":{"id":95,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1M","having":"","where":"(`section_subsection_name` <> '')"},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","sqlExpression":"section_subsection_name","label":"section_subsection_name","expressionType":"SQL"}],"metrics":["all_videos_viewed","at_least_one_viewed"],"orderby":[["all_videos_viewed",false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["section_subsection_name"],"columns":[],"aggregates":{"all_videos_viewed":{"operator":"mean"},"at_least_one_viewed":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"95__table","viz_type":"echarts_timeseries_bar","slice_id":165,"x_axis":"section_subsection_name","time_grain_sqla":"P1M","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["all_videos_viewed","at_least_one_viewed"],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SQL","filterOptionName":"filter_1eznhnyjr5k_wylhwvlq7z","isExtra":false,"isNew":false,"operator":null,"sqlExpression":"`section_subsection_name` <> ''","subject":null}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title_margin":15,"y_axis_title":"Number of learners","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","show_value":false,"only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":0,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[43,42],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 95 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SQL + filterOptionName: filter_1eznhnyjr5k_wylhwvlq7z + isExtra: false + isNew: false + operator: null + sqlExpression: |- + `section_subsection_name` <> '' + subject: null + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 43 + - 42 + datasource: 95__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - all_videos_viewed + - at_least_one_viewed + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + show_value: false + slice_id: 165 + sort_series_type: sum + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisLabelRotation: 0 + x_axis: section_subsection_name + 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_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of learners + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: section_subsection_name + sqlExpression: section_subsection_name + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: |- + (`section_subsection_name` <> '') + filters: [] + metrics: + - all_videos_viewed + - at_least_one_viewed + order_desc: true + orderby: + - - all_videos_viewed + - false + post_processing: + - operation: pivot + options: + aggregates: + all_videos_viewed: + operator: mean + at_least_one_viewed: + operator: mean + columns: [] + drop_missing_columns: false + index: + - section_subsection_name + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Video views per section/subsection uuid: c1f77432-e55f-4473-b7d0-7a1c3976e6a8 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_subsection.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_subsection.yaml index d92f1bbf2..558b61026 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_subsection.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Video_views_per_subsection.yaml @@ -29,6 +29,7 @@ params: sqlExpression: null subject: content_level all_columns: [] + annotation_layers: [] color_pn: true conditional_formatting: - colorScheme: '#ACE1C4' @@ -58,8 +59,103 @@ params: temporal_columns_lookup: {} time_grain_sqla: P1M viz_type: table -query_context: |- - {"datasource":{"id":95,"type":"table"},"force":false,"queries":[{"filters":[{"col":"content_level","op":"==","val":"subsection"}],"extras":{"time_grain_sqla":"P1M","having":"","where":"(`section_subsection_name` <> '')"},"applied_time_extras":{},"columns":[{"expressionType":"SQL","label":"Subsection Name","sqlExpression":"section_subsection_name"}],"metrics":["all_videos_viewed","at_least_one_viewed"],"orderby":[["all_videos_viewed",false]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"95__table","viz_type":"table","slice_id":196,"query_mode":"aggregate","groupby":[{"expressionType":"SQL","label":"Subsection Name","sqlExpression":"section_subsection_name"}],"time_grain_sqla":"P1M","temporal_columns_lookup":{},"metrics":["all_videos_viewed","at_least_one_viewed"],"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"expressionType":"SQL","sqlExpression":"`section_subsection_name` <> ''","clause":"WHERE","subject":null,"operator":null,"comparator":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_1eznhnyjr5k_wylhwvlq7z"},{"expressionType":"SIMPLE","subject":"content_level","operator":"==","operatorId":"EQUALS","comparator":"subsection","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_9uxf3jzunuu_agqd5zk40wm"}],"order_by_cols":[],"row_limit":10000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"conditional_formatting":[{"colorScheme":"#ACE1C4","column":"all_videos_viewed","operator":">","targetValue":0},{"colorScheme":"#FDE380","column":"at_least_one_viewed","operator":">","targetValue":0}],"extra_form_data":{},"dashboards":[42],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"} +query_context: + datasource: + id: 95 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: null + datasourceWarning: false + expressionType: SQL + filterOptionName: filter_1eznhnyjr5k_wylhwvlq7z + isExtra: false + isNew: false + operator: null + sqlExpression: |- + `section_subsection_name` <> '' + subject: null + - clause: WHERE + comparator: subsection + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_9uxf3jzunuu_agqd5zk40wm + isExtra: false + isNew: false + operator: == + operatorId: EQUALS + sqlExpression: null + subject: content_level + all_columns: [] + color_pn: true + conditional_formatting: + - colorScheme: '#ACE1C4' + column: all_videos_viewed + operator: '>' + targetValue: 0 + - colorScheme: '#FDE380' + column: at_least_one_viewed + operator: '>' + targetValue: 0 + dashboards: + - 42 + datasource: 95__table + extra_form_data: {} + force: false + groupby: + - expressionType: SQL + label: Subsection Name + sqlExpression: section_subsection_name + metrics: + - all_videos_viewed + - at_least_one_viewed + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 10000 + server_page_length: 10 + show_cell_bars: true + slice_id: 196 + table_timestamp_format: smart_date + temporal_columns_lookup: {} + time_grain_sqla: P1M + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - expressionType: SQL + label: Subsection Name + sqlExpression: section_subsection_name + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: |- + (`section_subsection_name` <> '') + filters: + - col: content_level + op: == + val: subsection + metrics: + - all_videos_viewed + - at_least_one_viewed + order_desc: true + orderby: + - - all_videos_viewed + - false + post_processing: [] + row_limit: 10000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Video views per subsection uuid: cf5b6eb7-d22c-4dda-bd4e-ee2401f337cc version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Watched_Video_Segments.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Watched_Video_Segments.yaml index f42134541..3ed512a6d 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Watched_Video_Segments.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Watched_Video_Segments.yaml @@ -59,10 +59,120 @@ params: y_axis_title_margin: 30 y_axis_title_position: Left zoomable: true -query_context: '{"datasource":{"id":103,"type":"table"},"force":false,"queries":[{"filters":[{"col":"started_at","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1M","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1M","columnType":"BASE_AXIS","sqlExpression":"segment_start","label":"segment_start","expressionType":"SQL"}],"metrics":["total_views","repeat_views"],"orderby":[["total_views",false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["segment_start"],"columns":[],"aggregates":{"total_views":{"operator":"mean"},"repeat_views":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"103__table","viz_type":"echarts_timeseries_bar","slice_id":186,"x_axis":"segment_start","time_grain_sqla":"P1M","xAxisForceCategorical":true,"x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["total_views","repeat_views"],"groupby":[],"adhoc_filters":[{"expressionType":"SIMPLE","subject":"started_at","operator":"TEMPORAL_RANGE","comparator":"No - filter","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_kpkhcnms3c_m156a9ez5ga"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title":"Video - Timestamp (in seconds)","x_axis_title_margin":50,"y_axis_title":"Number of Views","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","stack":"Stack","only_total":true,"zoomable":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[43,42],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 103 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_kpkhcnms3c_m156a9ez5ga + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: started_at + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 43 + - 42 + datasource: 103__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - total_views + - repeat_views + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 186 + sort_series_type: sum + stack: Stack + time_grain_sqla: P1M + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisForceCategorical: true + xAxisLabelRotation: 45 + x_axis: segment_start + 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: Video Timestamp (in seconds) + x_axis_title_margin: 50 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of Views + y_axis_title_margin: 30 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: segment_start + sqlExpression: segment_start + timeGrain: P1M + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1M + where: '' + filters: + - col: started_at + op: TEMPORAL_RANGE + val: No filter + metrics: + - total_views + - repeat_views + order_desc: true + orderby: + - - total_views + - false + post_processing: + - operation: pivot + options: + aggregates: + repeat_views: + operator: mean + total_views: + operator: mean + columns: [] + drop_missing_columns: false + index: + - segment_start + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Watched Video Segments uuid: 2985a9db-c338-4008-af52-2930b81ee2e5 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Watched_Video_Segments_at-risk.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Watched_Video_Segments_at-risk.yaml index f021bed97..5230b0887 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Watched_Video_Segments_at-risk.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Watched_Video_Segments_at-risk.yaml @@ -52,10 +52,112 @@ params: y_axis_title: Number of Views y_axis_title_margin: 30 y_axis_title_position: Left -query_context: '{"datasource":{"id":1299,"type":"table"},"force":false,"queries":[{"filters":[{"col":"started_at","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"segment_start","label":"segment_start","expressionType":"SQL"}],"metrics":["unique_viewers","repeat_views"],"orderby":[["unique_viewers",false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["segment_start"],"columns":[],"aggregates":{"unique_viewers":{"operator":"mean"},"repeat_views":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"flatten"}]}],"form_data":{"datasource":"1299__table","viz_type":"echarts_timeseries_bar","slice_id":2708,"x_axis":"segment_start","time_grain_sqla":"P1D","xAxisForceCategorical":true,"x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["unique_viewers","repeat_views"],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"started_at"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"orientation":"vertical","x_axis_title":"Video - Timestamp (in seconds)","x_axis_title_margin":50,"y_axis_title":"Number of Views","y_axis_title_margin":30,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","only_total":true,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":45,"y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"rich_tooltip":true,"tooltipTimeFormat":"smart_date","extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 1299 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: started_at + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6096 + datasource: 1299__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: [] + legendOrientation: top + legendType: scroll + metrics: + - unique_viewers + - repeat_views + only_total: true + order_desc: true + orientation: vertical + result_format: json + result_type: full + rich_tooltip: true + row_limit: 10000 + show_empty_columns: true + show_legend: true + slice_id: 2708 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_bar + xAxisForceCategorical: true + xAxisLabelRotation: 45 + x_axis: segment_start + 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: Video Timestamp (in seconds) + x_axis_title_margin: 50 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Number of Views + y_axis_title_margin: 30 + y_axis_title_position: Left + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: segment_start + sqlExpression: segment_start + timeGrain: P1D + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: started_at + op: TEMPORAL_RANGE + val: No filter + metrics: + - unique_viewers + - repeat_views + order_desc: true + orderby: + - - unique_viewers + - false + post_processing: + - operation: pivot + options: + aggregates: + repeat_views: + operator: mean + unique_viewers: + operator: mean + columns: [] + drop_missing_columns: false + index: + - segment_start + - operation: flatten + row_limit: 10000 + series_columns: [] + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Watched Video Segments (at-risk) uuid: a7947bdb-65a2-49ed-815e-850423bfeacc version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/At-Risk_Learners.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/At-Risk_Learners.yaml index 439c99e7e..29b844900 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/At-Risk_Learners.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/At-Risk_Learners.yaml @@ -388,7 +388,6 @@ metadata: - '#9EE5E5' - '#D1C6BC' cross_filters_enabled: true - default_filters: '{}' expanded_slices: {} global_chart_configuration: chartsInScope: @@ -563,7 +562,7 @@ position: children: [] id: CHART-LmLX-39lXb meta: - chartId: 4184 + chartId: 33 height: 72 sliceName: Partial and Full Views Per Video (at-risk) uuid: 2232c302-cd41-406f-a45d-0f674344166b @@ -581,7 +580,7 @@ position: children: [] id: CHART-NSSaeQX_nX meta: - chartId: 3964 + chartId: 35 height: 50 sliceName: Video Views by Section/Subsection (at-risk) uuid: 8266ce91-d0b3-4c3b-aa3d-2be4d90e64a8 @@ -599,7 +598,7 @@ position: children: [] id: CHART-explore-2108-1 meta: - chartId: 4204 + chartId: 59 height: 62 sliceName: Problems attempted per section/subsection (at-risk) uuid: 5015477d-d166-4823-868d-c7883d195bab @@ -617,7 +616,7 @@ position: children: [] id: CHART-explore-2128-1 meta: - chartId: 4124 + chartId: 14 height: 50 sliceName: At-risk learners uuid: 447a194b-dbed-4a82-a899-2df8e01e84b1 @@ -633,7 +632,7 @@ position: children: [] id: CHART-explore-2148-1 meta: - chartId: 4084 + chartId: 52 height: 50 sliceName: Last visit date uuid: 6c2b1008-96c9-426d-b2fe-68aa1de7b10d @@ -649,7 +648,7 @@ position: children: [] id: CHART-explore-2168-1 meta: - chartId: 4224 + chartId: 1 height: 50 sliceName: At-risk Enrollees per Enrollment Track uuid: f8beeb8c-b35c-47fc-8370-96b493f9c1b8 @@ -665,7 +664,7 @@ position: children: [] id: CHART-explore-2188-1 meta: - chartId: 4104 + chartId: 12 height: 63 sliceName: Page views per section/subsection (at-risk) uuid: 29a5cf7e-41cd-4b60-a63a-c921d6ebd997 @@ -683,7 +682,7 @@ position: children: [] id: CHART-explore-2208-1 meta: - chartId: 3944 + chartId: 43 height: 50 sliceName: Section Summary (at-risk) uuid: eec3a432-153f-42bc-8d37-52b200a77acd @@ -701,7 +700,7 @@ position: children: [] id: CHART-explore-2209-1 meta: - chartId: 4064 + chartId: 31 height: 50 sliceName: Cumulative Interactions (at-risk) uuid: 3a22091f-4686-4a1d-a66d-b36541844b36 @@ -719,7 +718,7 @@ position: children: [] id: CHART-explore-2210-1 meta: - chartId: 3984 + chartId: 40 height: 50 sliceName: Subsection Summary (at-risk) uuid: f60f12f3-f4f1-41af-8b10-d2cf3cb94f69 @@ -737,7 +736,7 @@ position: children: [] id: CHART-explore-2211-1 meta: - chartId: 4004 + chartId: 7 height: 50 sliceName: Evolution of Engagement (at-risk) uuid: ffa98e7f-7bed-4435-a1c1-472a46a4d269 @@ -755,7 +754,7 @@ position: children: [] id: CHART-explore-2664-1 meta: - chartId: 4164 + chartId: 46 height: 50 sliceName: Problem Interactions (at-risk) uuid: d3b9fa1e-f0ab-41e5-9705-27c7c58e620c @@ -773,7 +772,7 @@ position: children: [] id: CHART-explore-2665-1 meta: - chartId: 4264 + chartId: 50 height: 50 sliceName: Problem Results (at-risk) uuid: 003e60b9-907d-4002-bf2e-7d315225ec29 @@ -791,7 +790,7 @@ position: children: [] id: CHART-explore-2707-1 meta: - chartId: 4144 + chartId: 32 height: 64 sliceName: Video Views per Section/Subsection (at-risk) uuid: 5d0329f4-2a4a-4cd4-8b4e-926568d1bbcc @@ -809,7 +808,7 @@ position: children: [] id: CHART-explore-2708-1 meta: - chartId: 4044 + chartId: 56 height: 50 sliceName: Watched Video Segments (at-risk) uuid: a7947bdb-65a2-49ed-815e-850423bfeacc @@ -827,7 +826,7 @@ position: children: [] id: CHART-explore-2785-1 meta: - chartId: 4244 + chartId: 8 height: 50 sliceName: At-risk Enrollment Dates uuid: ded61855-48ea-4705-9385-690bf7dba53b @@ -843,7 +842,7 @@ position: children: [] id: CHART-explore-2805-1 meta: - chartId: 4024 + chartId: 51 height: 50 sliceName: Distribution of Course Grades uuid: cd3479d8-3574-4b77-9e1e-2ad176989b4d @@ -872,7 +871,7 @@ position: children: [] id: MARKDOWN-mH--KD6qFl meta: - code: "{{ASPECTS_LEARNER_GROUPS_HELP_MARKDOWN}}" + code: '{{ASPECTS_LEARNER_GROUPS_HELP_MARKDOWN}}' height: 50 width: 12 parents: diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Dashboard.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Dashboard.yaml index b853a8601..f7c5be379 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Dashboard.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Course_Dashboard.yaml @@ -601,10 +601,10 @@ metadata: name: Date scope: excluded: - - 2601 - - 3121 - - 3261 - - 2441 + - 39 + - 2 + - 28 + - 10 rootPath: - ROOT_ID tabsInScope: @@ -644,9 +644,9 @@ metadata: name: Time Grain scope: excluded: - - 2921 - - 2601 - - 3121 + - 9 + - 39 + - 2 rootPath: - TAB-4ptSkqs5MS - TAB-_Ey4nPhFr @@ -682,13 +682,13 @@ metadata: name: Video name scope: excluded: - - 2981 - - 2921 - - 2721 - - 2601 - - 3121 - - 3261 - - 2441 + - 17 + - 9 + - 30 + - 39 + - 2 + - 28 + - 10 rootPath: - ROOT_ID tabsInScope: @@ -708,7 +708,7 @@ position: children: [] id: CHART-explore-119-1 meta: - chartId: 2681 + chartId: 29 height: 50 sliceName: Problem interactions uuid: ba14d2ea-8c53-4f79-aa1b-434011f3c725 @@ -726,7 +726,7 @@ position: children: [] id: CHART-explore-120-1 meta: - chartId: 2481 + chartId: 55 height: 50 sliceName: Problem Results uuid: 6df96404-8c09-4a52-96c8-9a60a92cec29 @@ -744,7 +744,7 @@ position: children: [] id: CHART-explore-121-1 meta: - chartId: 3181 + chartId: 57 height: 54 sliceName: Watched Video Segments uuid: 2985a9db-c338-4008-af52-2930b81ee2e5 @@ -762,7 +762,7 @@ position: children: [] id: CHART-explore-122-1 meta: - chartId: 3620 + chartId: 11 height: 53 sliceName: Partial and full views per video uuid: bfffb9fe-07bd-4b2f-b437-522d45f6cd2c @@ -780,7 +780,7 @@ position: children: [] id: CHART-explore-123-1 meta: - chartId: 3501 + chartId: 60 height: 61 sliceName: Page views per section/subsection uuid: bf2d6219-d633-48c1-a9b5-742eac6a4c0a @@ -798,7 +798,7 @@ position: children: [] id: CHART-explore-124-1 meta: - chartId: 2221 + chartId: 42 height: 50 sliceName: Distribution of Current Course Grade uuid: ea565658-6796-40e8-9d1e-01ffd0778bc9 @@ -815,7 +815,7 @@ position: children: [] id: CHART-explore-125-1 meta: - chartId: 3521 + chartId: 21 height: 61 sliceName: Problems attempted per section/subsection uuid: 8cdcd4aa-1fa2-41dc-b38d-f1112134592e @@ -833,7 +833,7 @@ position: children: [] id: CHART-explore-126-1 meta: - chartId: 3481 + chartId: 34 height: 69 sliceName: Video views per section/subsection uuid: c1f77432-e55f-4473-b7d0-7a1c3976e6a8 @@ -851,7 +851,7 @@ position: children: [] id: CHART-explore-127-1 meta: - chartId: 3541 + chartId: 53 height: 39 sliceName: Video views by section/subsection uuid: c8c363f8-8dbc-4a78-841d-4976f4404884 @@ -869,7 +869,7 @@ position: children: [] id: CHART-explore-128-1 meta: - chartId: 2701 + chartId: 41 height: 29 sliceName: Course Information uuid: fa249dda-78da-4ccc-9ef3-39177e6aae0c @@ -883,7 +883,7 @@ position: children: [] id: CHART-explore-129-1 meta: - chartId: 2581 + chartId: 38 height: 27 sliceName: Learners with Passing Grade uuid: b40cdabc-b265-48d2-913d-a9dfee0b6ab1 @@ -900,7 +900,7 @@ position: children: [] id: CHART-explore-185-1 meta: - chartId: 2981 + chartId: 17 height: 29 sliceName: Current Enrollees uuid: 00de2f72-b3ed-4994-b231-fd3cf29d758d @@ -914,7 +914,7 @@ position: children: [] id: CHART-explore-188-1 meta: - chartId: 2921 + chartId: 9 height: 64 sliceName: Enrollees per Enrollment Track uuid: e584199e-0ed6-42bf-afb9-db3b9fe4132b @@ -930,7 +930,7 @@ position: children: [] id: CHART-explore-189-1 meta: - chartId: 2721 + chartId: 30 height: 51 sliceName: Cumulative Enrollments by Track uuid: f207c896-030a-462b-b69f-6416230d50b6 @@ -947,7 +947,7 @@ position: children: [] id: CHART-explore-191-1 meta: - chartId: 2601 + chartId: 39 height: 50 sliceName: Section Summary uuid: 47417136-acd1-44a1-b41e-644eb2c237c3 @@ -965,7 +965,7 @@ position: children: [] id: CHART-explore-192-1 meta: - chartId: 3121 + chartId: 2 height: 50 sliceName: Subsection Summary uuid: 2a8d96be-687d-4918-98fe-ae9fbd599152 @@ -983,7 +983,7 @@ position: children: [] id: CHART-explore-194-1 meta: - chartId: 3261 + chartId: 28 height: 50 sliceName: Evolution of engagement uuid: d3ae0546-37a8-4841-a57b-8087a6c33049 @@ -1001,7 +1001,7 @@ position: children: [] id: CHART-explore-195-1 meta: - chartId: 2441 + chartId: 10 height: 50 sliceName: Cumulative Interactions uuid: c44e43b5-ba69-4805-8d01-3b04dcbf2cb6 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Individual_Learner.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Individual_Learner.yaml index 4e7d6056b..7b0e5b299 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Individual_Learner.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Individual_Learner.yaml @@ -283,7 +283,6 @@ metadata: - '#9EE5E5' - '#D1C6BC' cross_filters_enabled: true - default_filters: '{}' expanded_slices: {} global_chart_configuration: chartsInScope: @@ -587,7 +586,7 @@ position: children: [] id: CHART-3L0xSxskX4 meta: - chartId: 3521 + chartId: 21 height: 56 sliceName: Problems attempted per section/subsection uuid: 8cdcd4aa-1fa2-41dc-b38d-f1112134592e @@ -603,7 +602,7 @@ position: children: [] id: CHART-4zWYZE6VQm meta: - chartId: 3501 + chartId: 60 height: 50 sliceName: Page views per section/subsection uuid: bf2d6219-d633-48c1-a9b5-742eac6a4c0a @@ -619,7 +618,7 @@ position: children: [] id: CHART-BmEG_m0R8l meta: - chartId: 3181 + chartId: 57 height: 50 sliceName: Watched Video Segments uuid: 2985a9db-c338-4008-af52-2930b81ee2e5 @@ -635,7 +634,7 @@ position: children: [] id: CHART-OJrXW113HX meta: - chartId: 2481 + chartId: 55 height: 50 sliceName: Problem Results uuid: 6df96404-8c09-4a52-96c8-9a60a92cec29 @@ -651,7 +650,7 @@ position: children: [] id: CHART-explore-191-1 meta: - chartId: 4344 + chartId: 25 height: 50 sliceName: Page views per subsection uuid: 18f85781-d604-4edf-a3e6-429e16c3040a @@ -667,7 +666,7 @@ position: children: [] id: CHART-explore-192-1 meta: - chartId: 4284 + chartId: 47 height: 50 sliceName: Page views per section uuid: 834ec7c4-ead8-4dea-b227-1c8be5fbb1d3 @@ -683,7 +682,7 @@ position: children: [] id: CHART-explore-194-1 meta: - chartId: 4404 + chartId: 19 height: 50 sliceName: Problems attempted per section uuid: 1d00bbc3-f0d5-4c17-b9f3-8cc4d5516950 @@ -699,7 +698,7 @@ position: children: [] id: CHART-explore-195-1 meta: - chartId: 4424 + chartId: 24 height: 50 sliceName: Problems attempted per subsection uuid: b3516698-35fe-4934-862a-7f5fb869d322 @@ -715,7 +714,7 @@ position: children: [] id: CHART-explore-196-1 meta: - chartId: 4324 + chartId: 62 height: 50 sliceName: Video views per section uuid: 0744f1bf-1636-4735-861b-18a6f1e825a2 @@ -731,7 +730,7 @@ position: children: [] id: CHART-explore-197-1 meta: - chartId: 4384 + chartId: 13 height: 50 sliceName: Video views per subsection uuid: cf5b6eb7-d22c-4dda-bd4e-ee2401f337cc @@ -747,7 +746,7 @@ position: children: [] id: CHART-explore-198-1 meta: - chartId: 4304 + chartId: 61 height: 50 sliceName: Partial and full views per video (table) uuid: 54a1551c-7eb3-43fb-abd1-005816da0769 @@ -763,7 +762,7 @@ position: children: [] id: CHART-hZ8cIzkMoC meta: - chartId: 3620 + chartId: 11 height: 50 sliceName: Partial and full views per video uuid: bfffb9fe-07bd-4b2f-b437-522d45f6cd2c @@ -779,7 +778,7 @@ position: children: [] id: CHART-nw620qu42a meta: - chartId: 4364 + chartId: 37 height: 50 sliceName: Learner Summary uuid: 6da50964-000e-4342-a931-3881feb02c13 @@ -793,7 +792,7 @@ position: children: [] id: CHART-ykpHXAV6JN meta: - chartId: 3481 + chartId: 34 height: 50 sliceName: Video views per section/subsection uuid: c1f77432-e55f-4473-b7d0-7a1c3976e6a8 @@ -823,7 +822,7 @@ position: children: [] id: MARKDOWN-zgTUWRP3xS meta: - code: "{{ASPECTS_INDIVIDUAL_LEARNER_HELP_MARKDOWN}}" + code: '{{ASPECTS_INDIVIDUAL_LEARNER_HELP_MARKDOWN}}' height: 50 width: 12 parents: diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Operator_Dashboard.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Operator_Dashboard.yaml index a5f49f6ab..0a1413be7 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Operator_Dashboard.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/dashboards/Operator_Dashboard.yaml @@ -419,20 +419,20 @@ metadata: name: Time Grain scope: excluded: - - 2421 - - 2501 - - 2521 - - 2561 - - 2661 - - 2741 - - 2801 - - 2881 - - 2901 - - 2941 - - 3001 - - 3161 - - 3301 - - 3381 + - 4 + - 22 + - 20 + - 6 + - 3 + - 49 + - 18 + - 54 + - 44 + - 16 + - 58 + - 27 + - 36 + - 5 rootPath: - ROOT_ID tabsInScope: @@ -629,7 +629,7 @@ position: children: [] id: CHART-4xInxcau02 meta: - chartId: 2421 + chartId: 4 height: 50 sliceName: ClickHouse metrics uuid: 2f84cbc3-4068-4d4d-bd40-ae348e4be95d @@ -645,7 +645,7 @@ position: children: [] id: CHART-6cANA_o-Ss meta: - chartId: 3001 + chartId: 58 height: 17 sliceName: Total Users uuid: 15620ae6-5452-4a11-bc7e-56c7e5987a4d @@ -662,7 +662,7 @@ position: children: [] id: CHART-8MbVYXA12V meta: - chartId: 2901 + chartId: 44 height: 50 sliceName: Most-used Dashboards uuid: 36842ef1-d4e9-4cb6-83f7-cb9b34eaab77 @@ -678,7 +678,7 @@ position: children: [] id: CHART-H4NTUWfMqH meta: - chartId: 2801 + chartId: 18 height: 50 sliceName: Course Enrollments Over Time uuid: bf4f4671-c276-4185-9b9a-b10864efea6c @@ -694,7 +694,7 @@ position: children: [] id: CHART-La3O2IbbVV meta: - chartId: 2941 + chartId: 16 height: 50 sliceName: Slowest ClickHouse Queries uuid: 953af3e5-8fc6-441e-bff1-22987735edf0 @@ -710,7 +710,7 @@ position: children: [] id: CHART-SG5jU4pQPt meta: - chartId: 3381 + chartId: 5 height: 36 sliceName: Superset Registered Users Over Time uuid: 68011361-ea45-4875-9165-c84ddbcd1fc5 @@ -726,7 +726,7 @@ position: children: [] id: CHART-ThgueCCU1Y meta: - chartId: 3402 + chartId: 45 height: 50 sliceName: Active Courses uuid: 138eb72a-f73f-42b5-96d6-3417715c3519 @@ -742,7 +742,7 @@ position: children: [] id: CHART-Yv5sneg3nD meta: - chartId: 2561 + chartId: 6 height: 36 sliceName: Superset Active Users uuid: bc5f7a27-670c-4794-963b-8082b258566f @@ -758,7 +758,7 @@ position: children: [] id: CHART-dLbZ-a2Mj1 meta: - chartId: 3301 + chartId: 36 height: 36 sliceName: Superset Active Users Over Time uuid: 66ef96e7-9616-4f28-90b6-68f13ce58b0a @@ -774,7 +774,7 @@ position: children: [] id: CHART-eOEkWVWOcd meta: - chartId: 2501 + chartId: 22 height: 50 sliceName: Most-used Charts uuid: 9d5f69e8-f335-42a0-bbfa-272f43d74ad0 @@ -790,7 +790,7 @@ position: children: [] id: CHART-explore-17-1 meta: - chartId: 2881 + chartId: 54 height: 16 sliceName: Last Received Event uuid: ffdaabc5-8d01-47d7-8f29-66efa643befb @@ -807,7 +807,7 @@ position: children: [] id: CHART-explore-19-1 meta: - chartId: 2661 + chartId: 3 height: 16 sliceName: Last course syncronized sliceNameOverride: Last Course Published @@ -825,7 +825,7 @@ position: children: [] id: CHART-explore-20-1 meta: - chartId: 3161 + chartId: 27 height: 14 sliceName: Total Organizations uuid: e66b1cdb-6974-4fa2-a769-4908665118f6 @@ -842,7 +842,7 @@ position: children: [] id: CHART-explore-22-1 meta: - chartId: 2521 + chartId: 20 height: 15 sliceName: Courses sliceNameOverride: Total Courses @@ -860,7 +860,7 @@ position: children: [] id: CHART-explore-3561-1 meta: - chartId: 3561 + chartId: 23 height: 54 sliceName: Courses Per Organization uuid: ad951d3b-e177-4501-bae3-08370ee3ed2d @@ -876,7 +876,7 @@ position: children: [] id: CHART-explore-3562-1 meta: - chartId: 3562 + chartId: 63 height: 50 sliceName: Current Active Enrollments By Mode uuid: 3e80132c-ea4d-4e61-9f3a-6164bacf58a0 @@ -892,7 +892,7 @@ position: children: [] id: CHART-explore-788-1 meta: - chartId: 2741 + chartId: 49 height: 54 sliceName: Active Users Per Organization uuid: 02af00f5-6539-428f-b3ab-632997de7528 @@ -908,7 +908,7 @@ position: children: [] id: CHART-jUpnkQSs-D meta: - chartId: 3403 + chartId: 26 height: 50 sliceName: Active Learners uuid: b9b602ec-001b-4584-aa24-9201f3b8746f @@ -924,7 +924,7 @@ position: children: [] id: CHART-nyK0NRXUUj meta: - chartId: 3401 + chartId: 15 height: 50 sliceName: Event Activity uuid: abc9bf92-2b32-42a5-8cd0-d383de777619 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_at_risk_video_watches.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_at_risk_video_watches.yaml index b2f7f45f9..cc2842ba2 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_at_risk_video_watches.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_at_risk_video_watches.yaml @@ -14,6 +14,18 @@ columns: python_date_format: null type: String verbose_name: Video Name With Location +- advanced_data_type: null + column_name: video_segment_count + description: null + expression: null + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Float64 + verbose_name: Video Segment Count - advanced_data_type: null column_name: watched_segment_count description: null @@ -134,18 +146,6 @@ columns: python_date_format: null type: String verbose_name: Organization -- advanced_data_type: null - column_name: video_segment_count - description: null - expression: null - extra: {} - filterable: true - groupby: true - is_active: true - is_dttm: false - python_date_format: null - type: Float64 - verbose_name: Video Segment Count database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_actors.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_actors.yaml index 803fc9fde..cd0c95fd4 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_actors.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_actors.yaml @@ -27,7 +27,7 @@ columns: is_dttm: true python_date_format: null type: DATETIME - verbose_name: null + verbose_name: Emission Hour database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_courses.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_courses.yaml index e425b1dc3..abf1f0915 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_courses.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_courses.yaml @@ -14,7 +14,7 @@ columns: is_dttm: true python_date_format: null type: DATETIME - verbose_name: null + verbose_name: Emission Hour - advanced_data_type: null column_name: courses_cnt description: null @@ -26,7 +26,7 @@ columns: is_dttm: false python_date_format: null type: AGGREGATEFUNCTION - verbose_name: null + verbose_name: Courses Cnt database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_enrollments.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_enrollments.yaml index 516caeb1f..eb30026b2 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_enrollments.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_enrollments.yaml @@ -53,7 +53,7 @@ columns: is_dttm: false python_date_format: null type: UINT64 - verbose_name: null + verbose_name: Course Enrollment Mode Status Cnt - advanced_data_type: null column_name: emission_hour description: null @@ -66,7 +66,7 @@ columns: is_dttm: true python_date_format: null type: DATETIME - verbose_name: null + verbose_name: Emission Hour database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null @@ -83,7 +83,7 @@ metrics: warning_markdown: '' metric_name: count metric_type: null - verbose_name: null + verbose_name: Count warning_text: null normalize_columns: true offset: 0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_events.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_events.yaml index 0328a372c..a30be0d68 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_events.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_events.yaml @@ -13,7 +13,7 @@ columns: is_dttm: false python_date_format: null type: AGGREGATEFUNCTION - verbose_name: null + verbose_name: Events Cnt - advanced_data_type: null column_name: emission_hour description: null @@ -25,7 +25,7 @@ columns: is_dttm: true python_date_format: null type: DATETIME - verbose_name: null + verbose_name: Emission Hour database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_student_status.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_student_status.yaml index 29a76d68c..31199fbce 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_student_status.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_student_status.yaml @@ -216,20 +216,20 @@ metrics: d3format: null description: null expression: COUNT(DISTINCT actor_id) - extra: {} - metric_name: number_of_learners + extra: + warning_markdown: '' + metric_name: graded_learners metric_type: null - verbose_name: Number of Learners + verbose_name: Graded Learners warning_text: null - currency: null d3format: null description: null expression: COUNT(DISTINCT actor_id) - extra: - warning_markdown: '' - metric_name: graded_learners + extra: {} + metric_name: number_of_learners metric_type: null - verbose_name: Graded Learners + verbose_name: Number of Learners warning_text: null - currency: null d3format: null diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_video_watches.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_video_watches.yaml index a5e8c7e27..aed04b815 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_video_watches.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_video_watches.yaml @@ -14,6 +14,18 @@ columns: python_date_format: null type: String verbose_name: Video Name With Location +- advanced_data_type: null + column_name: video_segment_count + description: null + expression: null + extra: {} + filterable: true + groupby: true + is_active: true + is_dttm: false + python_date_format: null + type: Float64 + verbose_name: Video Segment Count - advanced_data_type: null column_name: watched_segment_count description: null @@ -134,18 +146,6 @@ columns: python_date_format: null type: String verbose_name: Organization -- advanced_data_type: null - column_name: video_segment_count - description: null - expression: null - extra: {} - filterable: true - groupby: true - is_active: true - is_dttm: false - python_date_format: null - type: Float64 - verbose_name: Video Segment Count database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/superset_action_log.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/superset_action_log.yaml index 06885a85c..cfa38f10c 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/superset_action_log.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/superset_action_log.yaml @@ -186,7 +186,7 @@ metrics: warning_markdown: '' metric_name: count metric_type: null - verbose_name: null + verbose_name: Count warning_text: null normalize_columns: false offset: 0 From 557d2eb6f50d6d4e84c9753a9cff30d59525cf67 Mon Sep 17 00:00:00 2001 From: Cristhian Garcia Date: Fri, 24 May 2024 15:12:59 -0500 Subject: [PATCH 2/3] fix: serialize query performance asset --- .../assets/charts/Query_performance.yaml | 79 ++++++++++++++++++- .../assets/datasets/query_log.yaml | 11 +-- 2 files changed, 82 insertions(+), 8 deletions(-) diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Query_performance.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Query_performance.yaml index 32af356d8..b8dfa3adf 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Query_performance.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Query_performance.yaml @@ -12,6 +12,7 @@ params: operator: TEMPORAL_RANGE subject: event_time all_columns: [] + annotation_layers: [] color_pn: true extra_form_data: {} groupby: @@ -34,9 +35,81 @@ params: event_time: true time_grain_sqla: P1D viz_type: table -query_context: '{"datasource":{"id":266,"type":"table"},"force":false,"queries":[{"filters":[{"col":"event_time","op":"TEMPORAL_RANGE","val":"No - filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["http_user_agent","query_duration_ms","result_rows",{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"event_time","label":"event_time","expressionType":"SQL"},"memory_usage_mb","tables","query"],"metrics":[],"orderby":[],"annotation_layers":[],"row_limit":1000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[]}],"form_data":{"datasource":"266__table","viz_type":"table","slice_id":422,"query_mode":"aggregate","groupby":["http_user_agent","query_duration_ms","result_rows","event_time","memory_usage_mb","tables","query"],"time_grain_sqla":"P1D","temporal_columns_lookup":{"event_time":true},"all_columns":[],"percent_metrics":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No - filter","expressionType":"SIMPLE","operator":"TEMPORAL_RANGE","subject":"event_time"}],"order_by_cols":[],"row_limit":1000,"server_page_length":10,"order_desc":true,"table_timestamp_format":"smart_date","show_cell_bars":true,"color_pn":true,"extra_form_data":{},"dashboards":[],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}' +query_context: + datasource: + id: 266 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: event_time + all_columns: [] + color_pn: true + dashboards: [] + datasource: 266__table + extra_form_data: {} + force: false + groupby: + - http_user_agent + - query_duration_ms + - result_rows + - event_time + - memory_usage_mb + - tables + - query + order_by_cols: [] + order_desc: true + percent_metrics: [] + query_mode: aggregate + result_format: json + result_type: full + row_limit: 1000 + server_page_length: 10 + show_cell_bars: true + slice_id: 422 + table_timestamp_format: smart_date + temporal_columns_lookup: + event_time: true + time_grain_sqla: P1D + viz_type: table + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - http_user_agent + - query_duration_ms + - result_rows + - columnType: BASE_AXIS + expressionType: SQL + label: event_time + sqlExpression: event_time + timeGrain: P1D + - memory_usage_mb + - tables + - query + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: event_time + op: TEMPORAL_RANGE + val: No filter + metrics: [] + order_desc: true + orderby: [] + post_processing: [] + row_limit: 1000 + series_limit: 0 + url_params: {} + result_format: json + result_type: full slice_name: Query performance uuid: bb13bb31-c797-4ed3-a7f9-7825cc6dc482 version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/query_log.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/query_log.yaml index caeb932f7..b9c1b9988 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/query_log.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/query_log.yaml @@ -1,4 +1,5 @@ _file_name: query_log.yaml +always_filter_main_dttm: false cache_timeout: null columns: - advanced_data_type: null @@ -36,7 +37,7 @@ columns: is_dttm: false python_date_format: null type: Array(LowCardinality(String)) - verbose_name: null + verbose_name: Tables - advanced_data_type: null column_name: http_user_agent description: null @@ -48,7 +49,7 @@ columns: is_dttm: false python_date_format: null type: LowCardinality(String) - verbose_name: null + verbose_name: Http User Agent - advanced_data_type: null column_name: memory_usage_mb description: null @@ -60,7 +61,7 @@ columns: is_dttm: false python_date_format: null type: Float64 - verbose_name: null + verbose_name: Memory Usage Mb - advanced_data_type: null column_name: query_duration_ms description: null @@ -72,7 +73,7 @@ columns: is_dttm: false python_date_format: null type: UInt64 - verbose_name: null + verbose_name: Query Duration Ms - advanced_data_type: null column_name: result_rows description: null @@ -84,7 +85,7 @@ columns: is_dttm: false python_date_format: null type: UInt64 - verbose_name: null + verbose_name: Result Rows database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null From 714e66025624ce880f7cc182dd788bd655231416 Mon Sep 17 00:00:00 2001 From: Cristhian Garcia Date: Fri, 24 May 2024 15:52:00 -0500 Subject: [PATCH 3/3] fix: load query context as json at import --- .../apps/superset/pythonpath/create_assets_utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tutoraspects/templates/aspects/apps/superset/pythonpath/create_assets_utils.py b/tutoraspects/templates/aspects/apps/superset/pythonpath/create_assets_utils.py index af83a6532..73105dc00 100644 --- a/tutoraspects/templates/aspects/apps/superset/pythonpath/create_assets_utils.py +++ b/tutoraspects/templates/aspects/apps/superset/pythonpath/create_assets_utils.py @@ -24,6 +24,7 @@ # version, which skips a variety of other checks. import logging import yaml +import json from pathlib import Path from flask import g @@ -57,7 +58,13 @@ def load_configs_from_directory( queue.extend(path_name.glob("*")) elif path_name.suffix.lower() in YAML_EXTENSIONS: with open(path_name) as fp: - contents[str(path_name.relative_to(root))] = fp.read() + content = fp.read() + loaded_content = yaml.load(content, Loader=yaml.Loader) + if loaded_content.get("query_context") and isinstance(loaded_content["query_context"], dict): + loaded_content["query_context"] = json.dumps(loaded_content["query_context"]) + content = yaml.dump(loaded_content) + contents[str(path_name.relative_to(root))] = content + # removing "type" from the metadata allows us to import any exported model # from the unzipped directory directly