Skip to content

Commit e2cba5d

Browse files
authored
Feat/resultats_pesticides (#179)
* move files * add int__resultats_metabolite_udi_dernier * add sub_active * add pesticide results * update web model and front * forgot this
1 parent 3ae85b2 commit e2cba5d

16 files changed

+591
-76
lines changed

dbt_/models/intermediate/int__union_resultats_udi.sql

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,21 @@ FROM
5959
{{ ref('int__resultats_nitrate_udi_dernier') }}
6060
UNION ALL
6161
-- pesticide/metabolite
62+
SELECT
63+
cdreseau,
64+
periode,
65+
categorie,
66+
resultat,
67+
null AS ratio,
68+
dernier_prel_datetime,
69+
dernier_prel_valeur,
70+
nb_parametres,
71+
null AS nb_prelevements,
72+
null AS nb_sup_valeur_sanitaire
73+
FROM
74+
{{ ref('int__resultats_metabolite_udi_dernier') }}
75+
UNION ALL
76+
-- pesticide/metabolite_specifique
6277
SELECT
6378
cdreseau,
6479
periode,
@@ -73,6 +88,36 @@ SELECT
7388
FROM
7489
{{ ref('int__resultats_metabolite_specifique_udi_dernier') }}
7590
UNION ALL
91+
-- pesticide/sub_active
92+
SELECT
93+
cdreseau,
94+
periode,
95+
categorie,
96+
resultat,
97+
null AS ratio,
98+
dernier_prel_datetime,
99+
dernier_prel_valeur,
100+
nb_parametres,
101+
null AS nb_prelevements,
102+
null AS nb_sup_valeur_sanitaire
103+
FROM
104+
{{ ref('int__resultats_sub_active_udi_dernier') }}
105+
UNION ALL
106+
-- pesticide
107+
SELECT
108+
cdreseau,
109+
periode,
110+
categorie,
111+
resultat,
112+
null AS ratio,
113+
dernier_prel_datetime,
114+
dernier_prel_valeur,
115+
nb_parametres,
116+
null AS nb_prelevements,
117+
null AS nb_sup_valeur_sanitaire
118+
FROM
119+
{{ ref('int__resultats_pesticide_udi_dernier') }}
120+
UNION ALL
76121
-- pfas
77122
SELECT
78123
cdreseau,
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
models:
2+
- name: int__resultats_pesticide_udi_dernier
3+
description: Résultats des pesticides par UDI pour la temporalité 'derniers prélèvements'
4+
tests:
5+
- dbt_utils.unique_combination_of_columns:
6+
combination_of_columns:
7+
- cdreseau
8+
- categorie
9+
columns:
10+
- name: cdreseau
11+
description: "Code de l'installation (UDI)."
12+
type: VARCHAR
13+
tests:
14+
- not_null
15+
- name: categorie
16+
description: "Catégorie du paramètre analysé (ici, toujours 'pesticide')."
17+
type: VARCHAR
18+
tests:
19+
- accepted_values:
20+
values:
21+
- "pesticide"
22+
- name: periode
23+
description: "Période d'analyse des prélèvements (ici, toujours 'dernier_prel')."
24+
type: VARCHAR
25+
tests:
26+
- accepted_values:
27+
values: ["dernier_prel"]
28+
- name: dernier_prel_datetime
29+
description: "Date et heure du dernier prélèvement pris en compte dans l'analyse."
30+
type: TIMESTAMP
31+
tests:
32+
- not_null
33+
- dbt_utils.expression_is_true:
34+
expression: ">= CURRENT_DATE - INTERVAL 1 YEAR"
35+
- name: dernier_prel_valeur
36+
description: "Valeur maximale du dernier prélèvement"
37+
type: FLOAT
38+
- name: nb_parametres
39+
type: INTEGER
40+
- name: resultat
41+
description: "Interprétation du résultat en fonction des seuils sanitaires et des valeurs mesurées."
42+
type: VARCHAR
43+
tests:
44+
- accepted_values:
45+
values:
46+
- "non_quantifie"
47+
- "inf_limite_qualite"
48+
- "sup_limite_qualite"
49+
- "sup_valeur_sanitaire"
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
WITH
2+
last_pvl AS (
3+
SELECT DISTINCT
4+
cdreseau,
5+
categorie,
6+
cdparametresiseeaux,
7+
valtraduite,
8+
limite_qualite,
9+
valeur_sanitaire_1,
10+
datetimeprel,
11+
DENSE_RANK()
12+
OVER (
13+
PARTITION BY cdreseau
14+
ORDER BY datetimeprel DESC
15+
)
16+
AS row_number
17+
18+
FROM
19+
{{ ref('int__resultats_udi_communes') }}
20+
WHERE
21+
categorie = 'pesticide'
22+
AND
23+
-- On exclut le paramètre PESTOT qui est un TOTAL DES PESTICIDES ANALYSÉS
24+
cdparametresiseeaux != 'PESTOT'
25+
AND
26+
-- On garde les prélèvements de moins d'un an
27+
CURRENT_DATE - datetimeprel < INTERVAL 1 YEAR
28+
)
29+
30+
SELECT
31+
cdreseau,
32+
'pesticide' AS categorie,
33+
'dernier_prel' AS periode,
34+
MAX(datetimeprel) AS dernier_prel_datetime,
35+
MAX(valtraduite) AS dernier_prel_valeur,
36+
COUNT(DISTINCT cdparametresiseeaux) AS nb_parametres,
37+
CASE
38+
WHEN BOOL_AND(valtraduite IS NULL OR valtraduite = 0) THEN 'non_quantifie'
39+
WHEN
40+
BOOL_OR(valtraduite IS NOT NULL AND valtraduite >= valeur_sanitaire_1)
41+
THEN 'sup_valeur_sanitaire'
42+
WHEN
43+
BOOL_OR(valtraduite IS NOT NULL AND valtraduite >= limite_qualite)
44+
THEN 'sup_limite_qualite'
45+
WHEN
46+
BOOL_OR(valtraduite IS NOT NULL AND valtraduite < limite_qualite)
47+
THEN 'inf_limite_qualite'
48+
ELSE 'erreur'
49+
END AS resultat
50+
51+
FROM last_pvl
52+
WHERE row_number = 1
53+
GROUP BY cdreseau
Lines changed: 5 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,6 @@
11
models:
2-
- name: int__resultats_metabolite_specifique_commune_dernier
3-
description: Résultats des métabolites de pesticides spécifiques par commune pour la temporalité 'derniers prélèvements'
4-
tests:
5-
- dbt_utils.unique_combination_of_columns:
6-
combination_of_columns:
7-
- inseecommune
8-
- categorie
9-
columns:
10-
- name: inseecommune
11-
description: "Code INSEE de la commune"
12-
type: VARCHAR
13-
tests:
14-
- not_null
15-
- name: categorie
16-
description: "Catégorie du métabolite analysé."
17-
type: VARCHAR
18-
tests:
19-
- accepted_values:
20-
values:
21-
- "metabolite_esa_metolachlore"
22-
- "metabolite_chlorothalonil_r471811"
23-
- "metabolite_chloridazone_desphenyl"
24-
- "metabolite_chloridazone_methyl_desphenyl"
25-
- "metabolite_atrazine_desethyl"
26-
- name: periode
27-
description: "Période d'analyse des prélèvements (ici, toujours 'dernier_prel')."
28-
type: VARCHAR
29-
tests:
30-
- accepted_values:
31-
values: ["dernier_prel"]
32-
- name: dernier_prel_datetime
33-
description: "Date et heure du dernier prélèvement pris en compte dans l'analyse."
34-
type: TIMESTAMP
35-
tests:
36-
- not_null
37-
- dbt_utils.expression_is_true:
38-
expression: ">= CURRENT_DATE - INTERVAL 1 YEAR"
39-
- name: dernier_prel_valeur
40-
description: "Valeur du dernier prélèvement"
41-
type: FLOAT
42-
- name: nb_parametres
43-
type: INTEGER
44-
- name: resultat
45-
description: "Interprétation du résultat en fonction des seuils sanitaires et des valeurs mesurées."
46-
type: VARCHAR
47-
tests:
48-
- accepted_values:
49-
values:
50-
- "non_quantifie"
51-
- "inf_limite_qualite"
52-
- "sup_limite_qualite"
53-
- "inf_limite_qualite_sup_0_1"
54-
- "sup_valeur_sanitaire"
55-
56-
- name: int__resultats_metabolite_specifique_udi_dernier
57-
description: Résultats des métabolites de pesticides spécifiques par UDI pour la temporalité 'derniers prélèvements'
2+
- name: int__resultats_metabolite_udi_dernier
3+
description: Résultats des métabolites de pesticides par UDI pour la temporalité 'derniers prélèvements'
584
tests:
595
- dbt_utils.unique_combination_of_columns:
606
combination_of_columns:
@@ -67,16 +13,12 @@ models:
6713
tests:
6814
- not_null
6915
- name: categorie
70-
description: "Catégorie du métabolite analysé."
16+
description: "Catégorie du paramètre analysé (ici, toujours 'metabolite')."
7117
type: VARCHAR
7218
tests:
7319
- accepted_values:
7420
values:
75-
- "metabolite_esa_metolachlore"
76-
- "metabolite_chlorothalonil_r471811"
77-
- "metabolite_chloridazone_desphenyl"
78-
- "metabolite_chloridazone_methyl_desphenyl"
79-
- "metabolite_atrazine_desethyl"
21+
- "metabolite"
8022
- name: periode
8123
description: "Période d'analyse des prélèvements (ici, toujours 'dernier_prel')."
8224
type: VARCHAR
@@ -91,7 +33,7 @@ models:
9133
- dbt_utils.expression_is_true:
9234
expression: ">= CURRENT_DATE - INTERVAL 1 YEAR"
9335
- name: dernier_prel_valeur
94-
description: "Valeur du dernier prélèvement"
36+
description: "Valeur maximale du dernier prélèvement"
9537
type: FLOAT
9638
- name: nb_parametres
9739
type: INTEGER
@@ -104,5 +46,4 @@ models:
10446
- "non_quantifie"
10547
- "inf_limite_qualite"
10648
- "sup_limite_qualite"
107-
- "inf_limite_qualite_sup_0_1"
10849
- "sup_valeur_sanitaire"
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
WITH
2+
last_pvl AS (
3+
SELECT DISTINCT
4+
cdreseau,
5+
categorie,
6+
cdparametresiseeaux,
7+
valtraduite,
8+
limite_qualite,
9+
valeur_sanitaire_1,
10+
datetimeprel,
11+
DENSE_RANK()
12+
OVER (
13+
PARTITION BY cdreseau
14+
ORDER BY datetimeprel DESC
15+
)
16+
AS row_number
17+
18+
FROM
19+
{{ ref('int__resultats_udi_communes') }}
20+
WHERE
21+
categorie = 'pesticide'
22+
AND
23+
categorie_2 = 'metabolite'
24+
AND
25+
-- On garde les prélèvements de moins d'un an
26+
CURRENT_DATE - datetimeprel < INTERVAL 1 YEAR
27+
)
28+
29+
SELECT
30+
cdreseau,
31+
'metabolite' AS categorie,
32+
'dernier_prel' AS periode,
33+
MAX(datetimeprel) AS dernier_prel_datetime,
34+
MAX(valtraduite) AS dernier_prel_valeur,
35+
COUNT(DISTINCT cdparametresiseeaux) AS nb_parametres,
36+
CASE
37+
WHEN BOOL_AND(valtraduite IS NULL OR valtraduite = 0) THEN 'non_quantifie'
38+
WHEN
39+
BOOL_OR(valtraduite IS NOT NULL AND valtraduite >= valeur_sanitaire_1)
40+
THEN 'sup_valeur_sanitaire'
41+
WHEN
42+
BOOL_OR(valtraduite IS NOT NULL AND valtraduite >= limite_qualite)
43+
THEN 'sup_limite_qualite'
44+
WHEN
45+
BOOL_OR(valtraduite IS NOT NULL AND valtraduite < limite_qualite)
46+
THEN 'inf_limite_qualite'
47+
ELSE 'erreur'
48+
END AS resultat
49+
50+
FROM last_pvl
51+
WHERE row_number = 1
52+
GROUP BY cdreseau

0 commit comments

Comments
 (0)