#' Calcule les parametres rangeStart, rangeEnd et rangeStep pour xtradata
#'
#' @param selected_timestep pas de temps choisi par l'user (jour, semaine, mois, annee)
#' @param selected_date date selectionnee
#'
#' @return une liste de parametres
#' @export
#' @importFrom lubridate as_date add_with_rollback days floor_date weeks years ymd
occupation_compute_xtradata_request_parameters <- function(selected_timestep, selected_date) {
if (selected_timestep == "Jour") {
# jour
rangeStart <- as_date(selected_date)
rangeEnd <- add_with_rollback(rangeStart, days(1))
rangeStep <- "hour"
aggregation_unit <- "hour"
} else if (selected_timestep == "Semaine") {
# semaine
rangeStart <- floor_date(as_date(selected_date), "week", week_start = 1)
rangeEnd <- floor_date(add_with_rollback(rangeStart, weeks(1)), "week", week_start = 1)
rangeEnd <- as_date(ifelse(rangeEnd >= Sys.Date(), Sys.Date()-1, rangeEnd))
rangeStep <- "hour"
aggregation_unit <- "day"
} else if (selected_timestep == "Mois") {
# mois
rangeStart <- floor_date(as_date(selected_date), "month")
rangeEnd <- add_with_rollback(rangeStart, months(1), roll_to_first = TRUE)
rangeEnd <- as_date(ifelse(rangeEnd >= Sys.Date(), Sys.Date()-1, rangeEnd))
rangeStep <- "hour"
aggregation_unit <- "day"
} else if (selected_timestep == "Ann\u00e9e") {
# annee
rangeStart <- ymd(paste0(selected_date, "0101"))
rangeEnd <- add_with_rollback(rangeStart, years(1), roll_to_first = TRUE)
rangeEnd <- as_date(ifelse(rangeEnd >= Sys.Date(), Sys.Date()-1, rangeEnd))
if(rangeStart == "2020-01-01") rangeStart <- as.Date("2020-04-01")
rangeStep <- "month"
aggregation_unit <- "month"
}
list("rangeStart" = rangeStart, "rangeEnd" = rangeEnd, "rangeStep" = rangeStep, "aggregation_unit" = aggregation_unit)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.