Skip to content

Commit

Permalink
feat: add materials for at-risk learner group (FC-0051) (#765)
Browse files Browse the repository at this point in the history
* feat: add materials for at-risk learner group

This change introduces many new charts and datasets to provide insight
into the at-risk learner group.

* fix: add query_context to new charts

* feat: rename learner group dashboard

* fix: support date filtering for video watches dataset

* feat: add grade distribution chart to at-risk dashboard
  • Loading branch information
SoryRawyer authored May 8, 2024
1 parent 74caad3 commit e0bbc4f
Show file tree
Hide file tree
Showing 37 changed files with 4,229 additions and 67 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
_file_name: At-risk_Enrollees_per_Enrollment_Track.yaml
cache_timeout: null
certification_details: null
certified_by: null
dataset_uuid: 92eadc61-2931-577e-95b7-34adb1a8f515
description: null
params:
adhoc_filters: []
annotation_layers: []
color_scheme: supersetColors
comparison_type: values
extra_form_data: {}
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
rich_tooltip: true
row_limit: 10000
show_empty_columns: true
show_legend: true
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
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"}'
slice_name: At-risk Enrollees per Enrollment Track
uuid: f8beeb8c-b35c-47fc-8370-96b493f9c1b8
version: 1.0.0
viz_type: echarts_timeseries_bar
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
_file_name: At-risk_Enrollment_Dates.yaml
cache_timeout: null
certification_details: null
certified_by: null
dataset_uuid: 92eadc61-2931-577e-95b7-34adb1a8f515
description: null
params:
adhoc_filters: []
annotation_layers: []
color_scheme: supersetColors
comparison_type: values
extra_form_data: {}
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
rich_tooltip: true
row_limit: 10000
show_empty_columns: true
show_legend: true
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
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"}'
slice_name: At-risk Enrollment Dates
uuid: ded61855-48ea-4705-9385-690bf7dba53b
version: 1.0.0
viz_type: echarts_timeseries_bar
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
_file_name: At-risk_learners.yaml
cache_timeout: null
certification_details: null
certified_by: null
dataset_uuid: 92eadc61-2931-577e-95b7-34adb1a8f515
description: null
params:
adhoc_filters: []
all_columns: []
color_pn: true
extra_form_data: {}
groupby:
- name
- username
- email
order_by_cols: []
order_desc: true
percent_metrics: []
query_mode: aggregate
row_limit: 1000
server_page_length: 10
show_cell_bars: true
table_timestamp_format: smart_date
temporal_columns_lookup: {}
time_grain_sqla: P1D
viz_type: table
query_context: '{"datasource":{"id":1180,"type":"table"},"force":false,"queries":[{"filters":[],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":["name","username","email"],"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":"1180__table","viz_type":"table","slice_id":2128,"query_mode":"aggregate","groupby":["name","username","email"],"time_grain_sqla":"P1D","temporal_columns_lookup":{},"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,"extra_form_data":{},"dashboards":[6096],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
slice_name: At-risk learners
uuid: 447a194b-dbed-4a82-a899-2df8e01e84b1
version: 1.0.0
viz_type: table
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
_file_name: Cumulative_Interactions_at-risk.yaml
cache_timeout: null
certification_details: null
certified_by: null
dataset_uuid: 649ad1d3-c0b4-48e1-a02b-e1d1e80c94ac
description: null
params:
adhoc_filters:
- clause: WHERE
comparator: No filter
expressionType: SIMPLE
operator: TEMPORAL_RANGE
subject: visited_on
annotation_layers: []
color_scheme: supersetColors
comparison_type: values
extra_form_data: {}
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
rich_tooltip: true
row_limit: 10000
seriesType: line
show_empty_columns: true
show_legend: true
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
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"}'
slice_name: Cumulative Interactions (at-risk)
uuid: 3a22091f-4686-4a1d-a66d-b36541844b36
version: 1.0.0
viz_type: echarts_timeseries_line
Loading

0 comments on commit e0bbc4f

Please sign in to comment.