Skip to content
Snippets Groups Projects
Commit cf54903d authored by ronan.vignard's avatar ronan.vignard
Browse files

Création d'un .Rmd et d'une vignette pour les données ARS

parent 021f1ae5
No related branches found
No related tags found
1 merge request!3Création d'un .Rmd et d'une vignette pour les données ARS
flat_import_ars_data.Rmd:
path: dev/flat_import_ars_data.Rmd
state: active
R: []
tests: []
vignettes: vignettes/import-des-donnees-brutes-ars.Rmd
inflate:
flat_file: dev/flat_import_ars_data.Rmd
vignette_name: Import des données brutes ARS
open_vignette: true
check: true
document: true
overwrite: ask
flat_import_data.Rmd:
path: dev/flat_import_data.Rmd
state: active
......
---
title: "flat_import_ars_data.Rmd"
output: html_document
editor_options:
chunk_output_type: console
---
```{r development, include=FALSE}
library(testthat)
```
```{r development-load}
# Load already included functions if relevant
pkgload::load_all(export_all = FALSE)
```
```{r development, include=FALSE}
library(testthat)
library(xlsx)
library(datalibaba)
library(RPostgreSQL)
library(sf)
library(collectr)
library(dplyr)
```
```{r development-1}
# Load already included functions
pkgload::load_all(export_all = FALSE)
```
# Présentation
Cette page contient la logique métier concernant l'import des données brutes
fournies par l'ARS dans une base de données POstgreSQL dans le cadre du projet
Nitrates
# Connexion à la base de données PostgreSQL
```{r connect_to_db, eval=FALSE}
# Se connecter à la base de données PostgreSQL si_eau
connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
```
```{r list_schemas, eval=FALSE}
# Lister les schémas présents dans la base
schemas_list <- data.frame(datalibaba::list_schemas(connexion))
# Renommer la variable unique en "nom_schema"
schemas_list <- schemas_list |>
rename(nom_schema = unique(names(.)))
# Trier le dataframe par la variable nom_schema
schemas_list <- schemas_list |>
arrange(nom_schema)
```
```{r list_tables, eval=FALSE}
# Lister les tables présentes dans le schéma spécifié
tables_list <- data.frame(datalibaba::list_tables(
con = connexion,
db = "si_eau",
schema = "nitrates"))
# Renommer la variable unique en "nom_table"
tables_list <- tables_list |>
rename(nom_table = names(tables_list)[1])
# Trier le dataframe par la variable nom_table
tables_list <- tables_list |>
arrange(nom_table)
```
# Import des données de l'ARS dans un dataframe par millésime
Les données sont transmies au format XLSX.
```{r import_data_ars_2022, eval=FALSE}
data_ars_2022 <- collectr::import_xlsx(
filepath = "T:\\datalab\\SRNP_DEMA_SI_EAU\\NITRATES\\DONNEES_CLIENT\\SOURCES\\ARS\\2023_06\\Nitrates 2022 pour DREAL EPNT4 2023-05-30.xlsx",
sheet = 1,
row = 2)
```
```{r import_data_ars_2023, eval=FALSE}
data_ars_2023 <- collectr::import_xlsx(
filepath = "T:\\datalab\\SRNP_DEMA_SI_EAU\\NITRATES\\DONNEES_CLIENT\\SOURCES\\ARS\\2024_06\\Nitrates 2023 pour DREAL EPNT4 2024-05-31.xlsx",
sheet = 1,
row = 2)
```
# Création d'une table pour le nouveau millésime
```{r create-nitrate_data_ars, eval=FALSE}
# Charger les données dans une nouvelle table en base
datalibaba::poster_data(data = data_ars_2023,
table = "nitrate_data_analyse_ars_2023",
schema = "nitrates",
db = "si_eau",
overwrite = TRUE,
user = "admin")
# Ajouter un commentaire sur la table
datalibaba::commenter_table(comment = "Analyses Nitrates ARS (2023)",
table = "nitrate_data_analyse_ars_2023",
schema = "nitrates",
db = "si_eau",
user = "admin")
```
# Modification du type des champs si besoin
```{r modify_column_type, eval=FALSE}
# Modifier le type de colonne pour les champs de date
collectr::modify_column_type(database = "si_eau",
schema = "nitrates",
table = "nitrate_data_analyse_ars_2023",
column_name = "plv_date",
column_type = "date",
role = "admin")
```
# Insertion des données du nouveau millésime en base dans la table globale
```{r import_and_merge_tables, eval=FALSE}
# Insérer les données de la table du dernier millésime vers la table complète
collectr::import_and_merge_tables(database = "si_eau",
source_table = "nitrate_data_ars_2023",
source_schema = "nitrates",
target_table = "nitrate_data_analyse_ars_test",
target_schema = "nitrates")
```
```{r development-inflate, eval=FALSE}
# Run but keep eval=FALSE to avoid infinite loop
# Execute in the console directly
fusen::inflate(flat_file = "dev/flat_import_ars_data.Rmd", vignette_name = "Import des données brutes ARS")
```
---
title: "Import des données brutes ARS"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{import-des-donnees-brutes-ars}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
```{r setup}
library(data.nitrates)
```
<!-- WARNING - This vignette is generated by {fusen} from dev/flat_import_ars_data.Rmd: do not edit by hand -->
# Présentation
Cette page contient la logique métier concernant l'import des données brutes
fournies par l'ARS dans une base de données POstgreSQL dans le cadre du projet
Nitrates
# Connexion à la base de données PostgreSQL
```{r connect_to_db, eval = FALSE}
# Se connecter à la base de données PostgreSQL si_eau
connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
```
```{r list_schemas, eval = FALSE}
# Lister les schémas présents dans la base
schemas_list <- data.frame(datalibaba::list_schemas(connexion))
# Renommer la variable unique en "nom_schema"
schemas_list <- schemas_list |>
rename(nom_schema = unique(names(.)))
# Trier le dataframe par la variable nom_schema
schemas_list <- schemas_list |>
arrange(nom_schema)
```
```{r list_tables, eval = FALSE}
# Lister les tables présentes dans le schéma spécifié
tables_list <- data.frame(datalibaba::list_tables(
con = connexion,
db = "si_eau",
schema = "nitrates"))
# Renommer la variable unique en "nom_table"
tables_list <- tables_list |>
rename(nom_table = names(tables_list)[1])
# Trier le dataframe par la variable nom_table
tables_list <- tables_list |>
arrange(nom_table)
```
# Import des données de l'ARS dans un dataframe par millésime
Les données sont transmies au format XLSX.
```{r import_data_ars_2022, eval = FALSE}
data_ars_2022 <- collectr::import_xlsx(
filepath = "T:\\datalab\\SRNP_DEMA_SI_EAU\\NITRATES\\DONNEES_CLIENT\\SOURCES\\ARS\\2023_06\\Nitrates 2022 pour DREAL EPNT4 2023-05-30.xlsx",
sheet = 1,
row = 2)
```
```{r import_data_ars_2023, eval = FALSE}
data_ars_2023 <- collectr::import_xlsx(
filepath = "T:\\datalab\\SRNP_DEMA_SI_EAU\\NITRATES\\DONNEES_CLIENT\\SOURCES\\ARS\\2024_06\\Nitrates 2023 pour DREAL EPNT4 2024-05-31.xlsx",
sheet = 1,
row = 2)
```
# Création d'une table pour le nouveau millésime
```{r create-nitrate_data_ars, eval = FALSE}
# Charger les données dans une nouvelle table en base
datalibaba::poster_data(data = data_ars_2023,
table = "nitrate_data_analyse_ars_2023",
schema = "nitrates",
db = "si_eau",
overwrite = TRUE,
user = "admin")
# Ajouter un commentaire sur la table
datalibaba::commenter_table(comment = "Analyses Nitrates ARS (2023)",
table = "nitrate_data_analyse_ars_2023",
schema = "nitrates",
db = "si_eau",
user = "admin")
```
# Modification du type des champs si besoin
```{r modify_column_type, eval = FALSE}
# Modifier le type de colonne pour les champs de date
collectr::modify_column_type(database = "si_eau",
schema = "nitrates",
table = "nitrate_data_analyse_ars_2023",
column_name = "plv_date",
column_type = "date",
role = "admin")
```
# Insertion des données du nouveau millésime en base dans la table globale
```{r import_and_merge_tables, eval = FALSE}
# Insérer les données de la table du dernier millésime vers la table complète
collectr::import_and_merge_tables(database = "si_eau",
source_table = "nitrate_data_ars_2023",
source_schema = "nitrates",
target_table = "nitrate_data_analyse_ars_test",
target_schema = "nitrates")
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment