Skip to content
Snippets Groups Projects
Commit ad2ec52e authored by Juliette Engelaere-Lefebvre's avatar Juliette Engelaere-Lefebvre
Browse files

Merge branch '93-supprimer-les-sources-plus-administrees' into 'master'

suppression du chargement des tables inutilises

See merge request !46
parents 2834bba8 413af0b2
No related branches found
No related tags found
1 merge request!46suppression du chargement des tables inutilises
# chargement_avancement_plui
# librairies
library(tidyverse)
library(readxl)
library(lubridate)
library(DBI)
library(RPostgreSQL)
library(datalibaba)
library(googlesheets4)
rm(list=ls())
# chargement ---------
avancement_plui <- read_excel("extdata/avancement_plui_1nov2019.xlsx",sheet=1)
# calcul ---------
mill = 2019
avancement_plui <- avancement_plui %>%
mutate(date=make_date(mill,12,31),variable="code_avancement_plui") %>%
rename(valeur=code_variable) %>%
select(code_epci,date,variable,valeur) %>%
complete(code_epci,date,variable,fill = list(valeur =0)) %>%
pivot_wider(names_from = variable,values_from = valeur)
# versement dans le sgbd/datamart.portrait_territoires -------------
poster_data(data = avancement_plui,
db = "datamart",
schema = "portrait_territoires",
table = "ref_epci_avancement_plui",
post_row_name = FALSE,
overwrite = TRUE,
droits_schema = TRUE,
pk = c("code_epci", "date"), # déclaration d'une clé primaire sur la table postée : on ne doit pas avoir deux lignes avec à la fois le même code commune et la meme date
user = "does")
# METADONNEES------------------------------------
## On récupère la liste des variables qui sont à documenter dans le tableur google sheet à partir du jeu de données posté
var <- setdiff(names(avancement_plui), c("code_epci", "date"))
## récupération du nom du présent script source pour filtrer ensuite le référentiel des indicateurs
nom_script_sce <- rstudioapi::getActiveDocumentContext()$path %>% # utilisation de rstudioapi pour récupérer le nom du présent script
basename() %>% # on enlève le chemin d'accès pour ne garder que le nom du fichier
gsub(pattern = ".R$", "", .) # on enlève l'extension '.R'
## authentification google sheet grâce au .Renviron
gs4_auth_configure(api_key = Sys.getenv("google_api_key"))
gs4_deauth()
## chargement du référentiel indicateurs google sheet
metadata_indicateur <- read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
sheet = "indicateurs") %>%
# on ne garde que les variables concernées par le présent script de chargement
filter(source == "ref_epci_avancement_plui") %>%
# on ajoute l'unité dans le libellé de la variable
mutate(libelle_variable = paste0(libelle_variable, " (unit\u00e9 : ", unite, ")")) %>%
select(variable, libelle_variable) %>%
# ajout des libellés pour depcom et date
bind_rows(
tribble(
~variable, ~libelle_variable,
"code_epci", "Code INSEE de l'EPCI",
"date", "Millesime"
)
)
## Vérification que la documentation des indicateurs est complète
all(var %in% metadata_indicateur$variable) # doit renvoyer TRUE
## Envoi des libellés de variable dans le SGBD
post_dico_attr(dico = metadata_indicateur, table = "ref_epci_avancement_plui", schema = "portrait_territoires",
db = "datamart", user = "does")
## Récupération des métadonnées de la source
nom_sce <- str_replace(nom_script_sce, "chargement_|ref_|specifique_", "") %>%
str_replace("indicateur_", "") %>%
str_replace("_cogiter|_cog$", "")
metadata_source <- read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
sheet = "sources") %>%
filter(source == nom_sce) %>%
mutate(com_table = paste0(source_lib, " - ", producteur, ".\n", descriptif_sources)) %>%
pull(com_table) %>%
# ajout de complement sur la généalogie
paste0(".\n", "")
## commentaires de la table
commenter_table(comment = metadata_source,
db = "datamart",
schema = "portrait_territoires",
table = "ref_epci_avancement_plui",
user = "does")
# # versement dans le sgbd/datamart.portrait_territoires ----------
# drv <- dbDriver("PostgreSQL")
# con_datamart <- dbConnect(drv,
# dbname="datamart",
# host=Sys.getenv("server"),
# port=Sys.getenv("port"),
# user=Sys.getenv("userid"),
# password=Sys.getenv("pwd_does"))
# postgresqlpqExec(con_datamart, "SET client_encoding = 'windows-1252'")
#
# dbWriteTable(con_datamart, c("portrait_territoires","ref_epci_avancement_plui"),
# avancement_plui, row.names=FALSE, overwrite=TRUE)
#
# dbDisconnect(con_datamart)
#
# rm(list=ls())
# chargement_ptre_mis_en_place
# Liste des EPCI avec PTRE (Plateformes Territoriales de Rénovation Energétique) mis en place
# Données intégrées dans le fichier exdata/PTRE_mis_en_place.xlsx
# librairies --------------
library(readxl)
library(COGiter)
library(dplyr)
library(forcats)
library(tidyverse)
library(lubridate)
library(DBI)
library(RPostgreSQL)
library(datalibaba)
library(googlesheets4)
rm(list=ls())
# paramètres ---------
annee_de_mise_a_jour = 2020
# chargement et calcul ---------
epci52<-epci %>%
filter( grepl("52", REGIONS_DE_L_EPCI)) %>%
mutate(EPCI=as.character(EPCI)) %>%
pull(EPCI)
PTRE_mis_en_place <- read_excel("extdata/PTRE_mis_en_place.xlsx") %>%
# select(EPCI,ptre_mis_en_place) %>%
mutate(date = make_date(annee_de_mise_a_jour,12,31), EPCI=as.character(EPCI)) %>%
select(EPCI,date,ptre_mis_en_place) %>%
mutate(EPCI = fct_expand(EPCI, epci52)) %>%
complete(EPCI,date, fill = list( ptre_mis_en_place = "non")) %>%
mutate_if(is.character,as.factor)
# versement dans le sgbd/datamart.portrait_territoires -------------
poster_data(data = PTRE_mis_en_place,
db = "datamart",
schema = "portrait_territoires",
table = "ref_ptre_mis_en_place",
post_row_name = FALSE,
overwrite = TRUE,
droits_schema = TRUE,
pk = c("EPCI", "date"), # déclaration d'une clé primaire sur la table postée : on ne doit pas avoir deux lignes avec à la fois le même code commune et la meme date
user = "does")
# METADONNEES------------------------------------
## On récupère la liste des variables qui sont à documenter dans le tableur google sheet à partir du jeu de données posté
var <- setdiff(names(PTRE_mis_en_place), c("EPCI", "date"))
## récupération du nom du présent script source pour filtrer ensuite le référentiel des indicateurs
nom_script_sce <- "ref_ptre_mis_en_place"
## authentification google sheet grâce au .Renviron
gs4_auth_configure(api_key = Sys.getenv("google_api_key"))
gs4_deauth()
## chargement du référentiel indicateurs google sheet
metadata_indicateur <- read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
sheet = "indicateurs") %>%
# on ne garde que les variables concernées par le présent script de chargement
filter(source == "ref_ptre_mis_en_place") %>%
# on ajoute l'unité dans le libellé de la variable
mutate(libelle_variable = paste0(libelle_variable, " (unit\u00e9 : ", unite, ")")) %>%
select(variable, libelle_variable) %>%
# ajout des libellés pour depcom et date
bind_rows(
tribble(
~variable, ~libelle_variable,
"EPCI", "Code INSEE de L'EPCI",
"date", "Millesime"
)
)
## Vérification que la documentation des indicateurs est complète
all(var %in% metadata_indicateur$variable) # doit renvoyer TRUE
## Envoi des libellés de variable dans le SGBD
post_dico_attr(dico = metadata_indicateur, table = "ref_ptre_mis_en_place", schema = "portrait_territoires",
db = "datamart", user = "does")
## Récupération des métadonnées de la source
nom_sce <- str_replace(nom_script_sce, "chargement_|ref_|specifique_", "") %>%
str_replace("indicateur_", "") %>%
str_replace("_cogiter|_cog$", "")
metadata_source <- read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
sheet = "sources") %>%
filter(source == nom_sce) %>%
mutate(com_table = paste0(source_lib, " - ", producteur, ".\n", descriptif_sources)) %>%
pull(com_table)
## commentaires de la table
commenter_table(comment = metadata_source,
db = "datamart",
schema = "portrait_territoires",
table = "ref_ptre_mis_en_place",
user = "does")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment