Bonjour la communauté,
Etant nouveaux sur talend bien que j'ai déjà fait quelque job sauf que là je tombe sur un job assez costaud, j'ai du mal à bien l'interprété.
Je poste ci-joint le schéma de mon job qui montre l'ensemble des jobs utilisé .
Je vais essayer d'être clair dans mes explications, afin que quelqu'un puisse m'apporté son expérience.
Afin de réaliser ce job j'ai quelque traitement à effectué :
- Seules les relèves des 4 dernières années sont collectées (T_RELEVES.RELCONT_ANNEE_PERIODE_RELEVE = année-4) dans la table T_RELEVE en input.
- Lookup avec T_DIM_CODE_RELEVE pour identifier les anomalies et l’exploitabilité (TRV_CINDX=CODE_RELEVE_CODE) et récupérer code_releve_id
- Lookup avec T_DIM_APPAREIL pour récupérer l'id du compteur (APPAREIL_id) et l'attributs (APPAREIL_NAME=NAME)
- Tri par code_APPAREIL et trv_num_releve
- Calcul de la récurrence, des 4 dernières valeurs du code erreur et de l’âge de l’erreur en cours (RG-19)
- Calcul des champs
ICI les règles :
la RG-19 se détermine comme suit:
- Age de l’erreur
- Les 4 derniers codes relève (rapport récurrence)
- Récurrence ou non de l’erreur en cours.
On traite ligne à ligne les 4 dernières relèves d’un APPAREIL par ordre chronologique. Le tableau ci-dessous décrit les attendus et le fonctionnement du calcul.
Règles de calcules associées :
Une erreur est récurrente : si le code relève est identique sur les deux dernières relèves et si le code relève est une erreur. Calcul uniquement sur la relève numéro 14 (en cours)
Age de l’anomalie (nombre de jour) : date du jour - date de la première relève portant le même code. Si le code est une anomalie. Calcul uniquement sur la relève numéro 14 (en cours).
On ne prend que les 4 derniers numéro donc de 11 à 14.
La règle 20 qui elle est déterminer dans le tMap( comme indiqué dans le schéma) se calcul comme suit:
Pour permettre les comptages des APPAREIL ou la somme des conso par type d'APPAREIL, la table T_FAIT_RELEVE contiendra un certain nombre de colonnes au format booléen (0 ou 1). Leur somme selon les axes d’analyse donnera un comptage.
- RELEVE_EXPLOIT = 1 si le code relève indique un index exploitable (T_DIM_CODE_RELEVE.CODE_RELEVE_ETAT_INDEX=1). Sinon 0.
- RELEVE_NON_EXPLOIT = 1 si le code relève indique un index inexploitable (T_DIM_CODE_RELEVE.CODE_RELEVE_ETAT_INDEX=0). Sinon 0.
- RELEVE_ERREUR=1 si le code relève indique une erreur.
(T_DIM_CODE_RELEVE.CODE_RELEVE_ERREUR=1)
- RELEVE_CPT_GENERAL=1 si le compteur est un compteur général.
(T_DIM_APPAREIL.APPAREIL_TYPE_DIV_GEN=GENERAL)
- RELEVE_CPT_DIVISIONNAIRE=1 si le compteur est un compteur divisionnaire.
(T_DIM_COMPTEUR.COMPTEUR_TYPE_DIV_GEN=DIVISIONNAIRE)
- RELEVE_CPT_CHAUD= 1 si le compteur est un compteur chaud
(T_DIM_APPAREIL.APPAREIL_TYPE_FLUIDE =C)
- RELEVE_CPT_FROID= 1 si le compteur est un compteur froid
(T_DIM_APPAREIL.APPAREIL_TYPE_FLUIDE =F)
SCHEMA JOB.pdfSCHEMA JOB.pdf
- RELEVE_CPT_TYPE= T_DIM_APPAREIL.APPAREIL_TYPE_LIQUIDE
- RELEVE_CPT_POSE=1 si le compteur a été posé, 0 sinon. La valeur 1 est renseignée pour un compteur si:
T_FAIT_RELEVE.RELEVE_DATE >= 1er jour du mois correspondant à la date d'aujourd’hui moins 12 mois
ET
T_DIM_APPAREIL.CONTRAT_DATE_DEBUT différent de ‘’
ET
T_DIM_CODE_RELEVE.CODE_RELEVE_CODE=’NC’
OU
T_FAIT_RELEVE.RELEVE_DATE >= 1er jour du mois correspondant à la date d’aujourd’hui moins 12 mois
ET
T_DIM_APPAREIL.CONTRAT_DATE_DEBUT différent de ‘ ’
ET
T_DIM_CODE_RELEVE.CODE_RELEVE_CODE différent de ’NC’
ET
T_FAIT_RELEVE.RELEVE_DATE >= T_DIM_APPAREIL.CONTRAT_DATE_DEBUT
- RELEVE_CPT_ATTENTE_POSE=1 si le compteur est en attente de pose, 0 sinon. La valeur 1 est renseignée pour un compteur si:
T_FAIT_RELEVE.RELEVE_DATE >= 1er jour du mois correspondant à la date d’aujourd’hui moins 12 mois
ET
T_DIM_APPAREIL.CONTRAT_DATE_DEBUT différent de ‘’
ET
T_DIM_CODE_RELEVE.CODE_RELEVE_CODE différent de ’NC’
ET
T_FAIT_RELEVE.RELEVE_DATE < T_DIM_APPAREIL.CONTRAT_DATE_DEBUT
merci pour votre aide
Partager