Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/05/2011, 17h30   #1
Candidat au titre de Membre du Club
 
Justine Dreyfus
Inscription : juin 2010
Messages : 109
Détails du profil
Informations personnelles :
Nom : Justine Dreyfus

Informations forums :
Inscription : juin 2010
Messages : 109
Points : 14
Points : 14
Par défaut Somme qui s'incrémente à partir des valeurs précédentes

Bonjour

Dans une table que j'obtiens avec un select, j'ai un champ "montant" (D) qui peut évoluer à chaque nouvelle version (C) pour un numéro donné (A) :

Pièce jointe 77508

Mon objectif serait de pouvoir remplacer les cellules D12 et D13 par la valeur 59101 (D11), ainsi que la cellule D14 par la valeur 56248 (59101-2853) et ainsi de suite...

Cela serait idéalement effectué lors du traitement. Sachant que pour l'instant, je ne vois que la solution de classer mes enregistrements comme ils le sont actuellement pour pouvoir procéder ainsi (c'est à dire toujours obtenir la bonne valeur précédente). N'existerait-il pas un système de variable globale qui puisse à chaque fois prendre la valeur du montant précédente et l'ajouter à la valeur du montant actuel?

Une autre solution serait : mon numéro de version (C) pointe vers une table Version dans ma base, qui contient pour chaque numéro de version, un pointeur sur le numéro de version suivant et un autre sur le numéro de version précédent.

Je pourrai donc imaginer qu'à chaque nouvelle version je vérifie si le montant est différent de celui de la version précédente, et si c'est le cas, sommer ces deux valeurs pour assigner le résultats au montant actuel?

Merci pour vos réponses
justinedr71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 13h53   #2
Candidat au titre de Membre du Club
 
Inscription : mai 2003
Messages : 19
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 19
Points : 13
Points : 13
Bonjour ,

Ma première idée serait de faire passer ton flux dans un tJavaFlex. C'est un composant où tu écris (en java ) :
1- du code java d'initialisation (une variable capable de contenir ton calcul à chaque ligne par exemple)
2- du code de traitement (pour chacune des lignes, tu fais le calcul, tu mémorises le résultat et tu affectes la valeur d'une des colonnes au résultat en cours).
3- de code de fin (pour un petit log de résultat).

Ma deuxième serait d'essayer avec une itération (tFlowToIterate), mais je ne suis pas sur du résultat .

Bon courage,

Yust...
Yust est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 11h43   #3
Membre émérite
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 693
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 36
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 693
Points : 879
Points : 879
Bonjour,

J'utiliserais un tMap, qui recevrait les données triées comme tu le proposes.
Il s'agit de définir des variables dans ce tMap afin de garder la valeur du montant de la ligne précédente.

C'est possible en utilisant 2 variable, sachant que les variables sont valorisées dans l'ordre descendant.
Ainsi une variable utilisant une autre variable qui est déclarée en dessous récupèrera la valeur précédente puisque cette 2ème variable n'a pas encore été valorisée.

Dis moi si ce n'est pas clair, je détaillerai un exemple.

Nicolas
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 14h55   #4
Candidat au titre de Membre du Club
 
Justine Dreyfus
Inscription : juin 2010
Messages : 109
Détails du profil
Informations personnelles :
Nom : Justine Dreyfus

Informations forums :
Inscription : juin 2010
Messages : 109
Points : 14
Points : 14
Bonjour

J'ai utilisé la solution de Yust, avec le tJavaFlex. Ça marche niquel!
Du coup Nico je n'ai pas pu tester ta solution... Mais avec un tMap oui, on doit surement pouvoir se débrouiller!

Merci à vous les gars!
justinedr71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h12.


 
 
 
 
Partenaires

Hébergement Web