Display general metrics about the student's absenteeism as view through the number of days with at least one absence.

Deployment

tag:chronic_absenteeismnew in v0.7.0

Databases

The gpi database must be linked to the project. Please refer to the linking a database section for more information about how to link a database.

Marts

The following marts must be enabled for the dashboard to work. Please refer to the enabling a mart section for more information about how to enable a mart.

  • educ_serv

Dbt project specification

Update your cssxx.dashboards_store/dbt_project.yml file with the following snippet.

# cssxx.dashboards_store/dbt_project.yml
models:
  core_dashboards_store:
    marts:
      educ_serv:
        +enabled: True
    dashboards:
      educ_serv:
        chronic_absenteeism:
          +enabled: True
      interfaces:
        gpi:
          +enabled: True

Configuration

The configuration is optional. If you don't provide a configuration, the dashboard will use the default configuration.
To configuring the dashboard you might need to do some overriding> If the concept is new to you, please read this page

Overriding the absences bracketing strategy

By default, the dashboard will group up absences using the brackets from core.dashboards_store/seeds/dashboard/educ_serv/chronic_absenteeism/repartition_brackets.csv

To get a custom bracketing strategy, you can provide your own implementation of repartition_brackets. To do so :

  1. Write a CSV file named repartition_brackets in the cssXX.dashboards_store/seeds/dashboards/educ_serv/chronic_absenteeism folder populated as per the core.dashboards_store/seeds/dashboards/educ_serv/chronic_absenteism/schema.yml's definition.
  2. Disable the default seed by using the the following snippet in your dbt_project.yml file :
#cssXX.dashboards_store/dbt_project.yml
seeds:
  core_dashboards_store:
    dashboards:
      educ_serv:
        chronic_absenteeism:
          repartition_brackets:
            +enabled: False

When overriding the repartition bracket, you will need to manualy update the lorenz measures from the Dahsboard's concentration page.

Filtering the absences / lateness of students or using arbitrary grouping of absences / lateness

By default, the dashboards split the metrics between absences and lateness. The dashboard does not distinguish between motivated and the non-motivated reasons of absences.

To manually exclude some lateness / absences reasons, you can override the core.dashboards_store/models/marts/educ_serv/staging/absences/stg_dim_absences_retards_inclusion.sql.

To override this file, just provide your own implementation of cssXX.dashboards_store/models/marts/educ_serv/staging/absences/stg_dim_absences_retards_inclusion.sql and disable the one from the core by adding this following snippet to your cssXX.dashboards_store/dbt_project.yml :

#cssXX.dashboards_store/dbt_project.yml
models:
  core_dashboards_store:
    marts:
      educ_serv:
        staging:
          absences:
            stg_dim_absences_retards_inclusion:
              +enabled: False

Filtering out the lateness from the dashboard

This is an example : you might need to tailor this script to your own needs

-- cssXX.dashboards_store/models/marts/educ_serv/staging/absences/stg_dim_absences_retards_inclusion.sql
select
    id_eco,
    motif_abs,
    descr as description_abs,
    case
        when cpt_abs in (1, 2) then 'absence'
        else null -- Test hook.
    end as category_abs
from {{ ref("i_gpm_t_motif_abs") }}
where
  cpt_abs is not null and
  cpt_abs != 3
group by
    id_eco,
    motif_abs,
    descr

Splitting the absences between motivated and non-motivated ones

This is an example : you might need to tailor this script to your own needs

-- cssXX.dashboards_store/models/marts/educ_serv/staging/absences/stg_dim_absences_retards_inclusion.sql
select
    id_eco,
    motif_abs,
    descr as description_abs,
    case
        when cpt_abs = 1 then 'absence motivée'
        when cpt_abs = 2 then 'absence non-motivée'
        when cpt_abs = 3 then 'retard'
        else null -- Test hook.
    end as category_abs
from {{ ref("i_gpm_t_motif_abs") }}
where
  cpt_abs is not null
group by
    id_eco,
    motif_abs,
    descr

RLS

The report_filters table expose both id_eco and eco variables as RLS hook.