Skip to content
4 changes: 4 additions & 0 deletions dbt_/models/intermediate/_int__models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,10 @@ models:
description: "Limite de qualité selon le fichier de référence de Générations Futures."
type: FLOAT

- name: limite_indicative
description: "Limite indicative selon le fichier de référence de Générations Futures."
type: FLOAT

- name: valeur_sanitaire_1
description: "Valeur sanitaire de référence selon le fichier de référence de Générations Futures."
type: FLOAT
Expand Down
1 change: 1 addition & 0 deletions dbt_/models/intermediate/int__resultats_udi_communes.sql
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ resultats_with_ref AS (
r.categorie_2,
r.categorie_3,
r.limite_qualite,
r.limite_indicative,
r.valeur_sanitaire_1,
r.valeur_sanitaire_2
FROM
Expand Down
2 changes: 2 additions & 0 deletions dbt_/models/intermediate/int__valeurs_de_reference.sql
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ SELECT
MAX(categorie_3) AS categorie_3,
MAX(limite_qualite) AS limite_qualite,
MAX(limite_qualite_unite) AS limite_qualite_unite,
MAX(limite_indicative) AS limite_indicative,
MAX(limite_indicative_unite) AS limite_indicative_unite,
MAX(valeur_sanitaire_1) AS valeur_sanitaire_1,
MAX(valeur_sanitaire_1_unite) AS valeur_sanitaire_1_unite,
MAX(valeur_sanitaire_2) AS valeur_sanitaire_2,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,17 @@ SELECT
CASE
WHEN BOOL_AND(valtraduite IS NULL OR valtraduite = 0) THEN 'non_quantifie'
WHEN
BOOL_OR(valtraduite IS NOT NULL AND valtraduite >= valeur_sanitaire_1)
BOOL_OR(valtraduite >= valeur_sanitaire_1)
THEN 'sup_valeur_sanitaire'
WHEN
BOOL_OR(valtraduite IS NOT NULL AND valtraduite >= limite_qualite)
BOOL_OR(valtraduite >= limite_qualite)
THEN 'sup_limite_qualite'
WHEN
BOOL_OR(valtraduite IS NOT NULL AND valtraduite < limite_qualite)
THEN 'inf_limite_qualite'
BOOL_OR(
(limite_qualite IS NOT NULL AND valtraduite < limite_qualite)
OR (valeur_sanitaire_1 IS NOT NULL AND valtraduite < valeur_sanitaire_1)
)
THEN 'inf_limite_qualite' -- TODO: rename to 'inf_limites' ?
ELSE 'erreur'
END AS resultat,
TO_JSON(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ models:
- accepted_values:
values:
- "non_quantifie"
- "inf_limite_qualite"
- "inf_limites"
- "sup_limite_indicative"
- "sup_limite_qualite"
- "sup_valeur_sanitaire"
- name: parametres_detectes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ last_pvl AS (
cdparametresiseeaux,
valtraduite,
limite_qualite,
limite_indicative,
valeur_sanitaire_1,
datetimeprel,
DENSE_RANK()
Expand All @@ -32,6 +33,7 @@ aggregated AS (
cdparametresiseeaux,
MAX(valtraduite) AS valtraduite,
MAX(limite_qualite) AS limite_qualite,
MAX(limite_indicative) AS limite_indicative,
MAX(valeur_sanitaire_1) AS valeur_sanitaire_1,
MAX(datetimeprel) AS datetimeprel
FROM last_pvl
Expand All @@ -54,8 +56,16 @@ SELECT
BOOL_OR(valtraduite IS NOT NULL AND valtraduite >= limite_qualite)
THEN 'sup_limite_qualite'
WHEN
BOOL_OR(valtraduite IS NOT NULL AND valtraduite < limite_qualite)
THEN 'inf_limite_qualite'
BOOL_OR(valtraduite IS NOT NULL AND valtraduite >= limite_indicative)
THEN 'sup_limite_indicative'
WHEN
BOOL_OR(
valtraduite IS NOT NULL
AND (limite_qualite IS NULL OR valtraduite < limite_qualite)
AND (limite_indicative IS NULL OR valtraduite <= limite_indicative)
AND (limite_qualite IS NOT NULL OR limite_indicative IS NOT NULL)
)
THEN 'inf_limites'
ELSE 'erreur'
END AS resultat,
TO_JSON(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ models:
- accepted_values:
values:
- "non_quantifie"
- "inf_limite_qualite"
- "sup_limite_qualite"
- "inf_limite_qualite_sup_0_1"
- "sup_valeur_sanitaire"
- "sup_limite_qualite_sup_3"
- "sup_limite_qualite"
- "sup_limite_indicative"
- "inf_limites_sup_0_1"
- "inf_limites"
- name: parametres_detectes
description: "JSON contenant les paramètres détectés (valtraduite > 0) avec leurs valeurs correspondantes."
type: JSON
Expand Down Expand Up @@ -152,11 +152,11 @@ models:
- accepted_values:
values:
- "non_quantifie"
- "inf_limite_qualite"
- "sup_limite_qualite"
- "inf_limite_qualite_sup_0_1"
- "sup_valeur_sanitaire"
- "sup_limite_qualite_sup_3"
- "sup_limite_qualite"
- "sup_limite_indicative"
- "inf_limites_sup_0_1"
- "inf_limites"
- name: parametres_detectes
description: "JSON contenant les paramètres détectés (valtraduite > 0) avec leurs valeurs correspondantes."
type: JSON
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,20 @@ SELECT
CASE
WHEN valtraduite = 0 OR valtraduite IS null THEN 'non_quantifie'
WHEN valtraduite >= valeur_sanitaire_1 THEN 'sup_valeur_sanitaire'
-- On applique le seuil de 3µg/l uniquement pour le ESA-métolachlore et le R471811
WHEN
type_metabolite IN ('metabolite_esa_metolachlore', 'metabolite_chlorothalonil_r471811')
AND valtraduite >= 3
THEN 'sup_limite_qualite_sup_3'
WHEN valtraduite >= limite_qualite THEN 'sup_limite_qualite'
WHEN valtraduite >= limite_indicative THEN 'sup_limite_indicative'
-- On applique le seuil de 0.1µg/l uniquement pour le ESA-métolachlore et le R471811
WHEN
valtraduite >= 0.1
AND type_metabolite IN (
'metabolite_esa_metolachlore', 'metabolite_chlorothalonil_r471811'
)
THEN 'inf_limite_qualite_sup_0_1'
WHEN valtraduite < limite_qualite THEN 'inf_limite_qualite'
THEN 'inf_limites_sup_0_1'
WHEN
(limite_indicative IS null AND valtraduite < limite_qualite)
OR
(limite_qualite IS null AND valtraduite < limite_indicative)
THEN 'inf_limites'
ELSE 'erreur'
END AS resultat,
JSON_OBJECT(CASE WHEN valtraduite > 0 THEN cdparametresiseeaux END, valtraduite)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,20 @@ SELECT
CASE
WHEN valtraduite = 0 OR valtraduite IS null THEN 'non_quantifie'
WHEN valtraduite >= valeur_sanitaire_1 THEN 'sup_valeur_sanitaire'
-- On applique le seuil de 3µg/l uniquement pour le ESA-métolachlore et le R471811
WHEN
type_metabolite IN ('metabolite_esa_metolachlore', 'metabolite_chlorothalonil_r471811')
AND valtraduite >= 3
THEN 'sup_limite_qualite_sup_3'
WHEN valtraduite >= limite_qualite THEN 'sup_limite_qualite'
WHEN valtraduite >= limite_indicative THEN 'sup_limite_indicative'
-- On applique le seuil de 0.1µg/l uniquement pour le ESA-métolachlore et le R471811
WHEN
valtraduite >= 0.1
AND type_metabolite IN (
'metabolite_esa_metolachlore', 'metabolite_chlorothalonil_r471811'
)
THEN 'inf_limite_qualite_sup_0_1'
WHEN valtraduite < limite_qualite THEN 'inf_limite_qualite'
THEN 'inf_limites_sup_0_1'
WHEN
(limite_indicative IS null AND valtraduite < limite_qualite)
OR
(limite_qualite IS null AND valtraduite < limite_indicative)
THEN 'inf_limites'
ELSE 'erreur'
END AS resultat,
JSON_OBJECT(CASE WHEN valtraduite > 0 THEN cdparametresiseeaux END, valtraduite)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,16 @@ SELECT
WHEN BOOL_OR(resultat IN (
'somme_20pfas_sup_0_1',
'somme_20pfas_inf_0_1_et_4pfas_sup_0_02',
'sup_limite_qualite',
'sup_limite_qualite_sup_3'
'sup_limite_qualite'
)) THEN 'sup_limite_qualite'

WHEN BOOL_AND(resultat IN (
'non_quantifie',
'inf_valeur_sanitaire',
'inf_limite_qualite',
'inf_limite_qualite_sup_0_1',
'inf_limites_sup_0_1',
'sup_limite_indicative',
'inf_limites',
'somme_20pfas_inf_0_1_et_4pfas_inf_0_02',
'sup_limite_qualite_2036',
'inf_0_5',
Expand Down
Loading