Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 30 additions & 24 deletions R/dashboard_panels.R
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ homepage_panel <- function() {
tags$li(
"This tab includes data relating to persistent absence (pupils missing 10% or more sessions). ",
"To view these, select \"year to date\" in the drop-down menu. ",
"Figures are not provided in the weekly or daily data because persistent absence is a measure over time and not valid for short time periods. ",
"Underlying data relating to the Autumn term and year to date is available in our Explore educations statistics publication: ",
"Figures are not provided in the weekly or daily data because persistent absence is a measure over time and not available for short time periods. ",
"Underlying data relating to the autumn term, spring term and year to date is available in our Explore educations statistics publication: ",
dfeshiny::external_link(
"https://explore-education-statistics.service.gov.uk/find-statistics/pupil-attendance-in-schools",
"Pupil attendance in schools"
Expand Down Expand Up @@ -110,30 +110,26 @@ homepage_panel <- function() {
"They should be viewed as an early indicator for the more detailed but less regular ",
external_link(
"https://explore-education-statistics.service.gov.uk/find-statistics/pupil-absence-in-schools-in-england",
"National Statistics"
"Accredited Official Statistics"
),
"on pupil absence (which will include school level breakdowns)."
" on pupil absence (which will include school level breakdowns)."
),
br(),
h3("Coverage"),
p(textOutput("daily_schools_count")),
p(textOutput("school_count_proportion_homepage")),
p(
"Absence rates are provided broken down by state-funded primary, secondary and special schools. ",
"At national and regional level, absence figures are also provided across all schools. ",
"In recognition that response rates are not equal across school types and, therefore, ",
"not representative of the total school population, the total absence figure for all schools ",
"has been weighted based on the Spring 2024 school census. ",
"Weighted total figures are not included at local authority level due to the low number of schools involved."
"At national and regional level, absence figures are also provided across all schools."
),
br(),
h3("National statistics"),
h3("Official statistics"),
p(
"Data relating to pupil attendance, including pupil characteristics, is published at the link below:"
"Data relating to pupil attendance is published at the link below:"
),
external_link(
"https://explore-education-statistics.service.gov.uk/find-statistics/pupil-attendance-in-schools",
"Pupil attendance in schools - 2024/25 academic year"
"Pupil attendance in schools - 2025/26 academic year"
),
br(),
br(),
Expand All @@ -147,7 +143,7 @@ homepage_panel <- function() {
br(),
br(),
p(
"This dashboard has been developed as an accompaniment to DFE's termly National statistics on pupil absence. You can access this publication through the link below:"
"This dashboard has been developed as an accompaniment to DFE's termly Accredited official statistics on pupil absence. You can access this publication through the link below:"
),
external_link(
"https://explore-education-statistics.service.gov.uk/find-statistics/pupil-absence-in-schools-in-england",
Expand All @@ -156,19 +152,19 @@ homepage_panel <- function() {
br(),
br(),
p(
"Statistics presented in this dashboard are based on a smaller, non-random sample of schools in comparison to National statistics. Absence statistics are available on a termly basis in the National statistics, while this dashboard enables more timely daily and weekly data. They should, therefore, be viewed as an early indicator for the more detailed but less regular National Statistics (which will include school level breakdowns)."
"Statistics presented in this dashboard are based on a smaller, non-random sample of schools in comparison to Accredited official statistics. Absence statistics are available on a termly basis in the Accredited official statistics, while this dashboard enables more timely daily and weekly data. They should, therefore, be viewed as an early indicator for the more detailed but less regular Accredited official statistics (which will include school level breakdowns)."
),
p(
"Data is lagged by 2 weeks in order to allow for any retrospective changes to the data in schools, for example changing an unauthorised absence to late. As a result, data presented may change between dashboard updates."
),
textOutput("homepage_update_dates"),
br(),
p(
"Data prior to 09 September 2024 has not been included in the dashboard due to the impact of different start dates, inset days and phased returns. National level estimates covering the week commencing 02 September 2024 is available in the underlying data of the publication linked below: "
"Data prior to 09 September 2024 has not been included in the dashboard due to the impact of different start dates, inset days and phased returns."
),
external_link(
"https://explore-education-statistics.service.gov.uk/find-statistics/pupil-attendance-in-schools/2024-week-37",
"Pupil attendance in schools - First publication of 2024/25 academic year"
"https://explore-education-statistics.service.gov.uk/find-statistics/pupil-attendance-in-schools/2025-week-37",
"Pupil attendance in schools - First publication of 2025/26 academic year"
),
br(),
br(),
Expand All @@ -179,12 +175,12 @@ homepage_panel <- function() {
"https://www.gov.uk/guidance/share-your-daily-school-attendance-data",
"share attendance data"
),
" with the DfE. If you are a school that is not already sharing your daily attendance data, you need to approve this in your Wonde portal. This will also give you, your local authority and your multi-academy trust (if applicable)",
" with the DfE. If you are a school that is not already sharing your daily attendance data, you need to approve this in your Wonde portal. This will also give you, your local authority and your multi-academy trust (if applicable) ",
external_link(
"https://www.gov.uk/guidance/access-your-school-attendance-data",
"access to daily attendance reports"
),
"to help identify pupils needing attendance support earlier."
" to help identify pupils needing attendance support earlier."
)
),
br(),
Expand Down Expand Up @@ -358,7 +354,10 @@ dashboard_panel <- function() {
fluidRow(
column(
width = 9,
girafeOutput("absence_reasons_timeseries")
plotlyOutput("absence_reasons_timeseries", height = "550px"),
tags$br(),
tags$h5("Underlying data for the chart"),
reactableOutput("reasons_chart_table")
),
column(
width = 3,
Expand All @@ -369,15 +368,22 @@ dashboard_panel <- function() {
column(
width = 12,
uiOutput("absence_auth_table_title"),
tags$h5("Authorised"),
tags$p(
tags$b("Authorised absence"),
class = "govuk-body-s"
),
govReactableOutput(
"absence_auth_reasons_reactable",
caption = "Authorised absences"
caption = ""
),
br(),
tags$p(
tags$b("Unauthorised absence"),
class = "govuk-body-s"
),
tags$h5("Unauthorised"),
govReactableOutput(
"absence_unauth_reasons_reactable",
caption = "Unauthorised absences"
caption = ""
),
)
)
Expand Down
58 changes: 30 additions & 28 deletions R/headline_panel.R
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,36 @@ headline_panel <- function() {
column(
width = 12,
uiOutput("headline_title"),
bslib::layout_columns(
col_widths = c(12, 12),
bslib::card(
bslib::card_body(
tags$h4("School return rate"),
textOutput("school_count_proportion"),
conditionalPanel(
condition = paste0("input.ts_choice == 'latestweeks'"),
textOutput("update_dates")
),
conditionalPanel(
condition = paste0("input.ts_choice == 'yeartodate'"),
textOutput("update_dates2")
),
uiOutput("headline_bullet_attendance_rate"),
tags$h4("Persistent absence across year to date"),
uiOutput("headline_persistent_absence"),
)
),
bslib::card(
bslib::card_body(
uiOutput("headline_ts_chart_title"),
ggiraph::girafeOutput(
"headline_absence_chart",
width = "100%",
height = "100%"
)
)
bslib::card(
bslib::card_body(
tags$h4("School return rate"),
textOutput("school_count_proportion"),
conditionalPanel(
condition = paste0("input.ts_choice == 'latestweeks'"),
textOutput("update_dates")
),
conditionalPanel(
condition = paste0("input.ts_choice == 'yeartodate'"),
textOutput("update_dates2")
),
uiOutput("headline_bullet_attendance_rate"),
tags$h4("Persistent absence across year to date"),
uiOutput("headline_persistent_absence")
)
),
br(),
bslib::card(
full_screen = TRUE,
bslib::card_body(
style = "padding: 0;",
uiOutput("headline_ts_chart_title"),
plotly::plotlyOutput(
"headline_absence_chart",
height = "600px"
),
tags$br(),
tags$h5("Underlying data for the chart"),
reactableOutput("headline_chart_table")
)
)
)
Expand Down
Loading
Loading