diff --git a/tutoraspects/plugin.py b/tutoraspects/plugin.py index 45b9c6efb..da93f100e 100644 --- a/tutoraspects/plugin.py +++ b/tutoraspects/plugin.py @@ -355,7 +355,7 @@ # For now we are pulling this from github, which should allow maximum # flexibility for forking, running branches, specific versions, etc. ("DBT_REPOSITORY", "https://github.com/openedx/aspects-dbt"), - ("DBT_BRANCH", "v3.28.1"), + ("DBT_BRANCH", "v3.29.0"), ("DBT_SSH_KEY", ""), ("DBT_STATE_DIR", "/app/aspects/dbt_state/"), # This is the name of the database dbt will write to diff --git a/tutoraspects/templates/aspects/apps/aspects/dbt/profiles.yml b/tutoraspects/templates/aspects/apps/aspects/dbt/profiles.yml index 427c72567..f8688ad21 100644 --- a/tutoraspects/templates/aspects/apps/aspects/dbt/profiles.yml +++ b/tutoraspects/templates/aspects/apps/aspects/dbt/profiles.yml @@ -22,6 +22,7 @@ aspects: # this needs to match the profile in your dbt_project.yml file check_exchange: false sync_request_timeout: 5 compress_block_size: 1048576 + threads: 2 # Without this dbt queries populating tables can be killed for using too much memory custom_settings: 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 75b811207..41927c3cf 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 @@ -11,6 +11,11 @@ params: expressionType: SIMPLE operator: TEMPORAL_RANGE subject: emission_hour + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_day annotation_layers: [] area: false color_scheme: supersetColors @@ -50,7 +55,7 @@ params: truncateYAxis: false truncate_metric: true viz_type: echarts_timeseries_line - x_axis: emission_hour + x_axis: emission_day x_axis_sort_asc: true x_axis_sort_series: name x_axis_sort_series_ascending: true @@ -75,12 +80,17 @@ query_context: expressionType: SIMPLE operator: TEMPORAL_RANGE subject: emission_hour + - clause: WHERE + comparator: No filter + expressionType: SIMPLE + operator: TEMPORAL_RANGE + subject: emission_day annotation_layers: [] area: false color_scheme: supersetColors comparison_type: values dashboards: - - 2422 + - 6085 datasource: 84__table extra_form_data: {} force: false @@ -121,7 +131,7 @@ query_context: truncateYAxis: false truncate_metric: true viz_type: echarts_timeseries_line - x_axis: emission_hour + x_axis: emission_day x_axis_sort_asc: true x_axis_sort_series: name x_axis_sort_series_ascending: true @@ -140,8 +150,8 @@ query_context: columns: - columnType: BASE_AXIS expressionType: SQL - label: emission_hour - sqlExpression: emission_hour + label: emission_day + sqlExpression: emission_day timeGrain: P1D custom_form_data: {} custom_params: {} @@ -153,6 +163,9 @@ query_context: - col: emission_hour op: TEMPORAL_RANGE val: No filter + - col: emission_day + op: TEMPORAL_RANGE + val: No filter metrics: - aggregate: null column: null @@ -182,7 +195,7 @@ query_context: columns: [] drop_missing_columns: false index: - - emission_hour + - emission_day - operation: flatten row_limit: 10000 series_columns: [] diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Enrollments_Over_Time.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Enrollments_Over_Time.yaml index f049e59ab..9c0faa5ce 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Enrollments_Over_Time.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Course_Enrollments_Over_Time.yaml @@ -8,9 +8,14 @@ params: adhoc_filters: - clause: WHERE comparator: No filter + datasourceWarning: false expressionType: SIMPLE + filterOptionName: filter_9gtqohcrryq_u40bqg9f25 + isExtra: false + isNew: false operator: TEMPORAL_RANGE - subject: emission_hour + sqlExpression: null + subject: emission_day annotation_layers: [] color_scheme: supersetColors comparison_type: values @@ -63,7 +68,7 @@ params: truncateXAxis: true truncate_metric: true viz_type: echarts_timeseries_line - x_axis: emission_hour + x_axis: emission_day x_axis_sort_asc: true x_axis_sort_series: name x_axis_sort_series_ascending: true @@ -78,7 +83,195 @@ params: y_axis_title_margin: 50 y_axis_title_position: Left zoomable: true -query_context: null +query_context: + datasource: + id: 50 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_9gtqohcrryq_u40bqg9f25 + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_day + annotation_layers: [] + color_scheme: supersetColors + comparison_type: values + dashboards: + - 6085 + datasource: 50__table + extra_form_data: {} + force: false + forecastInterval: 0.8 + forecastPeriods: 10 + groupby: + - enrollment_status + legendMargin: null + legendOrientation: top + legendType: scroll + markerEnabled: false + markerSize: 6 + metrics: + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: course_enrollment_mode_status_cnt + description: null + expression: null + filterable: true + groupby: true + id: 6180 + is_certified: false + is_dttm: false + python_date_format: null + type: UINT64 + type_generic: 0 + verbose_name: null + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Enrollments + optionName: metric_amismcbqmww_5nvldnd54mv + sqlExpression: null + only_total: true + opacity: 0.2 + order_desc: true + result_format: json + result_type: full + rich_tooltip: true + row_limit: 50000 + seriesType: line + show_empty_columns: true + show_legend: false + slice_id: 2801 + sort_series_type: sum + time_grain_sqla: P1D + tooltipTimeFormat: smart_date + truncateXAxis: true + truncate_metric: true + viz_type: echarts_timeseries_line + x_axis: emission_day + x_axis_sort_asc: true + x_axis_sort_series: name + x_axis_sort_series_ascending: true + x_axis_time_format: smart_date + x_axis_title: '' + x_axis_title_margin: 15 + y_axis_bounds: + - null + - null + y_axis_format: SMART_NUMBER + y_axis_title: Registration Events + y_axis_title_margin: 50 + y_axis_title_position: Left + zoomable: true + queries: + - annotation_layers: [] + applied_time_extras: {} + columns: + - columnType: BASE_AXIS + expressionType: SQL + label: emission_day + sqlExpression: emission_day + timeGrain: P1D + - enrollment_status + custom_form_data: {} + custom_params: {} + extras: + having: '' + time_grain_sqla: P1D + where: '' + filters: + - col: emission_day + op: TEMPORAL_RANGE + val: No filter + metrics: + - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: course_enrollment_mode_status_cnt + description: null + expression: null + filterable: true + groupby: true + id: 6180 + is_certified: false + is_dttm: false + python_date_format: null + type: UINT64 + type_generic: 0 + verbose_name: null + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Enrollments + optionName: metric_amismcbqmww_5nvldnd54mv + sqlExpression: null + order_desc: true + orderby: + - - aggregate: SUM + column: + advanced_data_type: null + certification_details: null + certified_by: null + column_name: course_enrollment_mode_status_cnt + description: null + expression: null + filterable: true + groupby: true + id: 6180 + is_certified: false + is_dttm: false + python_date_format: null + type: UINT64 + type_generic: 0 + verbose_name: null + warning_markdown: null + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: true + label: Number of Enrollments + optionName: metric_amismcbqmww_5nvldnd54mv + sqlExpression: null + - false + post_processing: + - operation: pivot + options: + aggregates: + Number of Enrollments: + operator: mean + columns: + - enrollment_status + drop_missing_columns: false + index: + - emission_day + - operation: rename + options: + columns: + Number of Enrollments: null + inplace: true + level: 0 + - operation: flatten + row_limit: 50000 + series_columns: + - enrollment_status + series_limit: 0 + time_offsets: [] + url_params: {} + result_format: json + result_type: full slice_name: Course Enrollments Over Time uuid: bf4f4671-c276-4185-9b9a-b10864efea6c version: 1.0.0 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Currently_Enrolled_Users.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Currently_Enrolled_Users.yaml new file mode 100644 index 000000000..cdc73a2ff --- /dev/null +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Currently_Enrolled_Users.yaml @@ -0,0 +1,185 @@ +_file_name: Currently_Enrolled_Users.yaml +cache_timeout: null +certification_details: null +certified_by: null +dataset_uuid: 3dde421d-c0d0-43ab-8087-ca470985e88e +description: null +params: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_pjonesa0ahk_5r3tr52akow + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + - clause: WHERE + comparator: registered + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_826elbp9r6t_zd27undohee + isExtra: false + isNew: false + operator: == + operatorId: EQUALS + sqlExpression: null + subject: enrollment_status + conditional_formatting: [] + extra_form_data: {} + force_timestamp_formatting: false + header_font_size: 0.5 + metric: + aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + changed_on: '2024-05-29T16:46:33' + column_name: actor_id + created_on: '2024-04-11T21:02:15' + description: null + expression: null + extra: '{"warning_markdown": null}' + filterable: true + groupby: true + id: 785 + is_active: true + is_dttm: false + python_date_format: null + type: STRING + type_generic: 1 + uuid: 452cd817-afda-40de-aaef-5c02143e4e48 + verbose_name: Actor Id + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: false + label: COUNT_DISTINCT(Actor Id) + optionName: metric_0s87bb0logr_zgntots557g + sqlExpression: null + subheader: '' + subheader_font_size: 0.2 + time_format: smart_date + viz_type: big_number_total + y_axis_format: ',d' +query_context: + datasource: + id: 73 + type: table + force: false + form_data: + adhoc_filters: + - clause: WHERE + comparator: No filter + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_pjonesa0ahk_5r3tr52akow + isExtra: false + isNew: false + operator: TEMPORAL_RANGE + sqlExpression: null + subject: emission_time + - clause: WHERE + comparator: registered + datasourceWarning: false + expressionType: SIMPLE + filterOptionName: filter_826elbp9r6t_zd27undohee + isExtra: false + isNew: false + operator: == + operatorId: EQUALS + sqlExpression: null + subject: enrollment_status + conditional_formatting: [] + dashboards: + - 6085 + datasource: 73__table + extra_form_data: {} + force: false + force_timestamp_formatting: false + header_font_size: 0.5 + metric: + aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + changed_on: '2024-05-29T16:46:33' + column_name: actor_id + created_on: '2024-04-11T21:02:15' + description: null + expression: null + extra: '{"warning_markdown": null}' + filterable: true + groupby: true + id: 785 + is_active: true + is_dttm: false + python_date_format: null + type: STRING + type_generic: 1 + uuid: 452cd817-afda-40de-aaef-5c02143e4e48 + verbose_name: Actor Id + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: false + label: COUNT_DISTINCT(Actor Id) + optionName: metric_0s87bb0logr_zgntots557g + sqlExpression: null + result_format: json + result_type: full + slice_id: 3001 + subheader: '' + 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: == + val: registered + metrics: + - aggregate: COUNT_DISTINCT + column: + advanced_data_type: null + changed_on: '2024-05-29T16:46:33' + column_name: actor_id + created_on: '2024-04-11T21:02:15' + description: null + expression: null + extra: '{"warning_markdown": null}' + filterable: true + groupby: true + id: 785 + is_active: true + is_dttm: false + python_date_format: null + type: STRING + type_generic: 1 + uuid: 452cd817-afda-40de-aaef-5c02143e4e48 + verbose_name: Actor Id + datasourceWarning: false + expressionType: SIMPLE + hasCustomLabel: false + label: COUNT_DISTINCT(Actor Id) + optionName: metric_0s87bb0logr_zgntots557g + sqlExpression: null + order_desc: true + series_limit: 0 + url_params: {} + result_format: json + result_type: full +slice_name: Currently Enrolled Users +uuid: 15620ae6-5452-4a11-bc7e-56c7e5987a4d +version: 1.0.0 +viz_type: big_number_total 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 32fd34dcc..9ae7c2ae2 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 @@ -8,9 +8,15 @@ params: adhoc_filters: - clause: WHERE comparator: No filter + datasourceWarning: false expressionType: SIMPLE + filterOptionName: filter_jfungcanfns_4if9uzm072d + isExtra: false + isNew: false operator: TEMPORAL_RANGE - subject: emission_hour + operatorId: TEMPORAL_RANGE + sqlExpression: null + subject: emission_day annotation_layers: [] color_scheme: supersetColors comparison_type: values @@ -47,7 +53,7 @@ params: truncateXAxis: false truncate_metric: false viz_type: echarts_timeseries_line - x_axis: emission_hour + x_axis: emission_day x_axis_sort_asc: true x_axis_sort_series: name x_axis_sort_series_ascending: true @@ -69,14 +75,20 @@ query_context: adhoc_filters: - clause: WHERE comparator: No filter + datasourceWarning: false expressionType: SIMPLE + filterOptionName: filter_jfungcanfns_4if9uzm072d + isExtra: false + isNew: false operator: TEMPORAL_RANGE - subject: emission_hour + operatorId: TEMPORAL_RANGE + sqlExpression: null + subject: emission_day annotation_layers: [] color_scheme: supersetColors comparison_type: values dashboards: - - 2422 + - 6085 datasource: 830__table extra_form_data: {} force: false @@ -115,7 +127,7 @@ query_context: truncateXAxis: false truncate_metric: false viz_type: echarts_timeseries_line - x_axis: emission_hour + x_axis: emission_day x_axis_sort_asc: true x_axis_sort_series: name x_axis_sort_series_ascending: true @@ -134,8 +146,8 @@ query_context: columns: - columnType: BASE_AXIS expressionType: SQL - label: emission_hour - sqlExpression: emission_hour + label: emission_day + sqlExpression: emission_day timeGrain: P1D custom_form_data: {} custom_params: {} @@ -144,7 +156,7 @@ query_context: time_grain_sqla: P1D where: '' filters: - - col: emission_hour + - col: emission_day op: TEMPORAL_RANGE val: No filter metrics: @@ -176,7 +188,7 @@ query_context: columns: [] drop_missing_columns: false index: - - emission_hour + - emission_day - operation: flatten row_limit: 10000 series_columns: [] diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Total_Users.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Total_Users.yaml deleted file mode 100644 index 68e6d7e77..000000000 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/charts/Total_Users.yaml +++ /dev/null @@ -1,37 +0,0 @@ -_file_name: Total_Users.yaml -cache_timeout: null -certification_details: null -certified_by: null -dataset_uuid: 5f3d28a1-ebb4-4e4a-95ea-2930623d774d -description: null -params: - adhoc_filters: - - clause: WHERE - comparator: No filter - expressionType: SIMPLE - operator: TEMPORAL_RANGE - subject: emission_time - annotation_layers: [] - conditional_formatting: [] - extra_form_data: {} - force_timestamp_formatting: false - header_font_size: 0.5 - metric: - aggregate: null - column: null - datasourceWarning: false - expressionType: SQL - hasCustomLabel: true - label: User ID Count - optionName: metric_kvpvmgti3sq_43fw3621oyf - sqlExpression: COUNT(user_id) - subheader: '' - subheader_font_size: 0.2 - time_format: smart_date - viz_type: big_number_total - y_axis_format: ',d' -query_context: null -slice_name: Total Users -uuid: 15620ae6-5452-4a11-bc7e-56c7e5987a4d -version: 1.0.0 -viz_type: big_number_total 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 0a1413be7..f6bd3e75a 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 @@ -360,7 +360,6 @@ metadata: native_filter_configuration: - cascadeParentIds: [] chartsInScope: - - 2161 - 2421 - 2501 - 2521 @@ -378,21 +377,31 @@ metadata: - 3401 - 3402 - 3403 - - 3404 + - 3561 + - 3562 controlValues: enableEmptyFilter: false defaultDataMask: - extraFormData: {} - filterState: {} - ownState: {} + extraFormData: + time_range: 'DATEADD(DATETIME("now"), -90, day) : now' + filterState: + value: 'DATEADD(DATETIME("now"), -90, day) : now' description: '' filterType: filter_time id: NATIVE_FILTER-VfB-vTQtG name: Time Range scope: - excluded: [] + excluded: + - 3001 + - 3161 + - 2521 + - 3562 rootPath: - - ROOT_ID + - TAB-DE73B5pXm + - TAB-uKjvZ62aJt + - TAB-EygpebMa1 + - TAB-gvqU89mvT + - TAB-z7LunkNp63 tabsInScope: - TAB-DE73B5pXm - TAB-EygpebMa1 @@ -419,20 +428,20 @@ metadata: name: Time Grain scope: excluded: - - 4 - - 22 - - 20 - - 6 - - 3 - - 49 - - 18 - - 54 - - 44 - - 16 - - 58 - - 27 - - 36 - - 5 + - 2421 + - 2501 + - 2521 + - 2561 + - 2661 + - 2741 + - 2801 + - 2881 + - 2901 + - 2941 + - 3001 + - 3161 + - 3301 + - 3381 rootPath: - ROOT_ID tabsInScope: @@ -629,7 +638,7 @@ position: children: [] id: CHART-4xInxcau02 meta: - chartId: 4 + chartId: 2421 height: 50 sliceName: ClickHouse metrics uuid: 2f84cbc3-4068-4d4d-bd40-ae348e4be95d @@ -645,7 +654,7 @@ position: children: [] id: CHART-6cANA_o-Ss meta: - chartId: 58 + chartId: 3001 height: 17 sliceName: Total Users uuid: 15620ae6-5452-4a11-bc7e-56c7e5987a4d @@ -662,7 +671,7 @@ position: children: [] id: CHART-8MbVYXA12V meta: - chartId: 44 + chartId: 2901 height: 50 sliceName: Most-used Dashboards uuid: 36842ef1-d4e9-4cb6-83f7-cb9b34eaab77 @@ -678,7 +687,7 @@ position: children: [] id: CHART-H4NTUWfMqH meta: - chartId: 18 + chartId: 2801 height: 50 sliceName: Course Enrollments Over Time uuid: bf4f4671-c276-4185-9b9a-b10864efea6c @@ -694,7 +703,7 @@ position: children: [] id: CHART-La3O2IbbVV meta: - chartId: 16 + chartId: 2941 height: 50 sliceName: Slowest ClickHouse Queries uuid: 953af3e5-8fc6-441e-bff1-22987735edf0 @@ -710,7 +719,7 @@ position: children: [] id: CHART-SG5jU4pQPt meta: - chartId: 5 + chartId: 3381 height: 36 sliceName: Superset Registered Users Over Time uuid: 68011361-ea45-4875-9165-c84ddbcd1fc5 @@ -726,7 +735,7 @@ position: children: [] id: CHART-ThgueCCU1Y meta: - chartId: 45 + chartId: 3402 height: 50 sliceName: Active Courses uuid: 138eb72a-f73f-42b5-96d6-3417715c3519 @@ -742,7 +751,7 @@ position: children: [] id: CHART-Yv5sneg3nD meta: - chartId: 6 + chartId: 2561 height: 36 sliceName: Superset Active Users uuid: bc5f7a27-670c-4794-963b-8082b258566f @@ -758,7 +767,7 @@ position: children: [] id: CHART-dLbZ-a2Mj1 meta: - chartId: 36 + chartId: 3301 height: 36 sliceName: Superset Active Users Over Time uuid: 66ef96e7-9616-4f28-90b6-68f13ce58b0a @@ -774,7 +783,7 @@ position: children: [] id: CHART-eOEkWVWOcd meta: - chartId: 22 + chartId: 2501 height: 50 sliceName: Most-used Charts uuid: 9d5f69e8-f335-42a0-bbfa-272f43d74ad0 @@ -790,7 +799,7 @@ position: children: [] id: CHART-explore-17-1 meta: - chartId: 54 + chartId: 2881 height: 16 sliceName: Last Received Event uuid: ffdaabc5-8d01-47d7-8f29-66efa643befb @@ -807,7 +816,7 @@ position: children: [] id: CHART-explore-19-1 meta: - chartId: 3 + chartId: 2661 height: 16 sliceName: Last course syncronized sliceNameOverride: Last Course Published @@ -825,7 +834,7 @@ position: children: [] id: CHART-explore-20-1 meta: - chartId: 27 + chartId: 3161 height: 14 sliceName: Total Organizations uuid: e66b1cdb-6974-4fa2-a769-4908665118f6 @@ -842,7 +851,7 @@ position: children: [] id: CHART-explore-22-1 meta: - chartId: 20 + chartId: 2521 height: 15 sliceName: Courses sliceNameOverride: Total Courses @@ -860,7 +869,7 @@ position: children: [] id: CHART-explore-3561-1 meta: - chartId: 23 + chartId: 3561 height: 54 sliceName: Courses Per Organization uuid: ad951d3b-e177-4501-bae3-08370ee3ed2d @@ -876,7 +885,7 @@ position: children: [] id: CHART-explore-3562-1 meta: - chartId: 63 + chartId: 3562 height: 50 sliceName: Current Active Enrollments By Mode uuid: 3e80132c-ea4d-4e61-9f3a-6164bacf58a0 @@ -892,7 +901,7 @@ position: children: [] id: CHART-explore-788-1 meta: - chartId: 49 + chartId: 2741 height: 54 sliceName: Active Users Per Organization uuid: 02af00f5-6539-428f-b3ab-632997de7528 @@ -908,7 +917,7 @@ position: children: [] id: CHART-jUpnkQSs-D meta: - chartId: 26 + chartId: 3403 height: 50 sliceName: Active Learners uuid: b9b602ec-001b-4584-aa24-9201f3b8746f @@ -924,7 +933,7 @@ position: children: [] id: CHART-nyK0NRXUUj meta: - chartId: 15 + chartId: 3401 height: 50 sliceName: Event Activity uuid: abc9bf92-2b32-42a5-8cd0-d383de777619 diff --git a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/user_pii.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_enrollment_status.yaml similarity index 55% rename from tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/user_pii.yaml rename to tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_enrollment_status.yaml index 0ebd79e93..d92602240 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/user_pii.yaml +++ b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_enrollment_status.yaml @@ -1,80 +1,99 @@ -_file_name: user_pii.yaml +_file_name: fact_enrollment_status.yaml always_filter_main_dttm: false cache_timeout: null columns: - advanced_data_type: null - column_name: external_user_id + column_name: emission_time description: null expression: null - extra: {} + extra: + warning_markdown: null + filterable: true + groupby: true + is_active: true + is_dttm: true + python_date_format: null + type: DATETIME + verbose_name: Emission Time +- advanced_data_type: null + column_name: actor_id + description: null + expression: null + extra: + warning_markdown: null filterable: true groupby: true is_active: true is_dttm: false python_date_format: null - type: UUID - verbose_name: External User ID + type: STRING + verbose_name: Actor Id - advanced_data_type: null - column_name: user_id + column_name: course_key description: null expression: null - extra: {} + extra: + warning_markdown: null filterable: true groupby: true is_active: true is_dttm: false python_date_format: null - type: INT32 - verbose_name: User ID + type: STRING + verbose_name: Course Key - advanced_data_type: null - column_name: email + column_name: enrollment_mode description: null expression: null - extra: {} + extra: + warning_markdown: null filterable: true groupby: true is_active: true is_dttm: false python_date_format: null type: STRING - verbose_name: Email + verbose_name: Enrollment Mode - advanced_data_type: null - column_name: name + column_name: enrollment_status description: null expression: null - extra: {} + extra: + warning_markdown: null filterable: true groupby: true is_active: true is_dttm: false python_date_format: null type: STRING - verbose_name: Name + verbose_name: Enrollment Status - advanced_data_type: null - column_name: username + column_name: org description: null expression: null - extra: {} + extra: + warning_markdown: null filterable: true groupby: true is_active: true is_dttm: false python_date_format: null type: STRING - verbose_name: Username + verbose_name: Org database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null -extra: {} +extra: null fetch_values_predicate: null filter_select_enabled: true -main_dttm_col: null +main_dttm_col: emission_time metrics: - currency: null d3format: null description: null expression: COUNT(*) - extra: {} + extra: + warning_markdown: '' metric_name: count metric_type: count verbose_name: COUNT(*) @@ -82,9 +101,9 @@ metrics: normalize_columns: false offset: 0 params: null -schema: '{{ ASPECTS_EVENT_SINK_DATABASE }}' -sql: select * from {{ ASPECTS_EVENT_SINK_DATABASE }}.user_pii -table_name: user_pii +schema: '{{ DBT_PROFILE_TARGET_DATABASE }}' +sql: select * from {{ DBT_PROFILE_TARGET_DATABASE }}.fact_enrollment_status +table_name: fact_enrollment_status template_params: null -uuid: 5f3d28a1-ebb4-4e4a-95ea-2930623d774d +uuid: 3dde421d-c0d0-43ab-8087-ca470985e88e version: 1.0.0 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 cd0c95fd4..5ffa073e6 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 @@ -16,18 +16,17 @@ columns: type: AGGREGATEFUNCTION verbose_name: Actors Count - advanced_data_type: null - column_name: emission_hour + column_name: emission_day description: null expression: null - extra: - warning_markdown: null + extra: {} filterable: true groupby: true is_active: true is_dttm: true python_date_format: null type: DATETIME - verbose_name: Emission Hour + verbose_name: Emission Day 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 eb30026b2..4d836618e 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 @@ -3,9 +3,9 @@ always_filter_main_dttm: false cache_timeout: null columns: - advanced_data_type: null - column_name: course_name + column_name: course_enrollment_mode_status_cnt description: null - expression: '' + expression: null extra: warning_markdown: null filterable: true @@ -13,8 +13,8 @@ columns: is_active: true is_dttm: false python_date_format: null - type: STRING - verbose_name: Course Name + type: UINT64 + verbose_name: Course Enrollment Mode Status Cnt - advanced_data_type: null column_name: enrollment_mode description: null @@ -26,7 +26,7 @@ columns: is_active: true is_dttm: false python_date_format: null - type: STRING + type: LOWCARDINALITY(STRING) verbose_name: Enrollment Mode - advanced_data_type: null column_name: enrollment_status @@ -42,31 +42,29 @@ columns: type: STRING verbose_name: Enrollment Status - advanced_data_type: null - column_name: course_enrollment_mode_status_cnt + column_name: course_key description: null expression: null - extra: - warning_markdown: null + extra: {} filterable: true groupby: true is_active: true is_dttm: false python_date_format: null - type: UINT64 - verbose_name: Course Enrollment Mode Status Cnt + type: LOWCARDINALITY(STRING) + verbose_name: Course Key - advanced_data_type: null - column_name: emission_hour + column_name: emission_day description: null expression: null - extra: - warning_markdown: null + extra: {} filterable: true groupby: true is_active: true is_dttm: true python_date_format: null type: DATETIME - verbose_name: Emission Hour + verbose_name: Emission Day 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_events.yaml b/tutoraspects/templates/aspects/build/aspects-superset/openedx-assets/assets/datasets/fact_instance_events.yaml index a30be0d68..fb0b2d6ac 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 @@ -6,7 +6,8 @@ columns: column_name: events_cnt description: null expression: null - extra: null + extra: + warning_markdown: null filterable: true groupby: true is_active: true @@ -15,17 +16,18 @@ columns: type: AGGREGATEFUNCTION verbose_name: Events Cnt - advanced_data_type: null - column_name: emission_hour + column_name: emission_day description: null expression: null - extra: null + extra: + warning_markdown: null filterable: true groupby: true is_active: true is_dttm: true python_date_format: null type: DATETIME - verbose_name: Emission Hour + verbose_name: Emission Day database_uuid: 21174b6c-4d40-4958-8161-d6c3cf5e77b6 default_endpoint: null description: null @@ -38,7 +40,8 @@ metrics: d3format: null description: null expression: COUNT(*) - extra: null + extra: + warning_markdown: null metric_name: count metric_type: count verbose_name: COUNT(*) @@ -47,7 +50,7 @@ normalize_columns: false offset: 0 params: null schema: '{{ ASPECTS_XAPI_DATABASE }}' -sql: null +sql: '' table_name: fact_instance_events template_params: null uuid: 6c54112c-1e2f-4c5f-8511-320fd9e180ac diff --git a/tutoraspects/templates/openedx-assets/queries/fact_enrollment_pii.sql b/tutoraspects/templates/openedx-assets/queries/fact_enrollment_pii.sql index 52c0a860b..8385c2541 100644 --- a/tutoraspects/templates/openedx-assets/queries/fact_enrollment_pii.sql +++ b/tutoraspects/templates/openedx-assets/queries/fact_enrollment_pii.sql @@ -8,7 +8,11 @@ with from {{ DBT_PROFILE_TARGET_DATABASE }}.fact_enrollment_status enrollment inner join {{ ASPECTS_EVENT_SINK_DATABASE }}.course_names as course_names - on course_names.course_key = enrollment.course_key + -- Need to cast the course key to a string here otherwise the + -- course_names dictionary throws this: + -- Key type for complex key at position 0 does not match, expected String, + -- found LowCardinality(String). + on course_names.course_key = enrollment.course_key::String where 1 = 1 {% include 'openedx-assets/queries/common_filters.sql' %} )