IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Chemin de localisation


Sujet :

Développement de jobs

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 21
    Points : 25
    Points
    25
    Par défaut Chemin de localisation
    Bonjour !

    J'ai une table que l'on va appeler Table Localisation
    Cette table se présente avec ces différents champs :

    ID NAME COMPLETENAME NIVEAU FK_LOCALISATION
    1 Belgique Belgique 1 0
    2 France France 1 0
    3 Namur Belgique->Namur 2 1
    4 Liege Belgique->Liege 2 1
    5 Verviers Belgique->Liege->Verviers 3 4
    6 Paris France->Paris 2 2
    Et ainsi de suite ... allant jusque, parfois, le niveau 6.

    La finalité étant de devenir une dimension d'un projet décisionnel, j'aimerais donc pouvoir en faire une table, et donc une dimension hiérarchisée.

    Donc j'aimerais pouvoir avoir par exemple :

    ID Niveau1 Niveau2 Niveau3 Niveau4 Niveau5 Niveau6
    1 Belgique Liege Verviers null null null
    2 Belgique Namur null null null null


    Débutant sur Talend, je ne sais pas vraiment comment réaliser ce genre de chose...
    Avez-vous une piste sur laquelle je pourrais creuser ?
    Voir même si cela est envisageable dans une table de dimension...

    Mom's

  2. #2
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Gérer des structures d'arborescences est très compliqué avec Talend.
    C'est impossible sans maîtriser le code java généré et utiliser les composants Java et de créer des caches. Donc je ne t'expliquerai pas comment faire avec les champs NIVEAU FK_LOCALISATION.

    Par contre le champs COMPLETENAME à l'air super sympa et représenter l'arborescence facilement.

    Utilise un t#SGBD#Input avec la requête suivante et édite le schéma à la main

    ID : Integer
    COMPLETENAME : String

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    "SELECT ID, COMPLETENAME
     FROM Localisation
     WHERE ID NOT IN(
        SELECT FK_LOCALISATION
        FROM Localisation
    )"

    Le but de cette requête est de récupérer les lignes qui n'ont pas d'enfant.

    Après utilise un tExtractDelimetedField avec le séparateur "->" et qui lie la colonne COMPLETENAME en entrée
    Relie tes deux composants avec une connexion principalequ'on nommera row1

    Modifie le schéma de sortie du composant tExtractDelimetedField avec ceci
    Niveau1 : String
    ...
    Niveau6: String

    Ajoute un tmap et ajoute une connexion principale sortante du tExtractDelimetedField qu'on nommera row2 entrante dans le tMap
    Dans ton tMap ajoute une sortie qu'on nommera out.

    out doit être configuré comme ceci

    ID : String, valeur row1.ID
    Niveau1 : String, valeur row2.Niveau2
    ...
    Niveau6: String, valeur row2.Niveau6

    Ajoute un t#SGBD#Output prenant en entrée la sortie out de ton tMap. et configure le
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Merci pour cette réponse très détaillée !

    Je vais jeter un coup d'oeil à ça !

    Merci !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Voilà, j'ai essayé, et après plusieurs tentatives infructueuses, je ne sais pas ce que je fais mal.

    Nom : err1.png
Affichages : 93
Taille : 49,8 KoNom : err2.png
Affichages : 89
Taille : 92,7 Ko

  5. #5
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    En fait dans ma solution il y a une subtilité que tu n'as pas vu :p


    En sortie du tExtractDelemetedField tu ne dois pas avoir d'ID.

    Par contre dans le tMap tu récupérés l'ID depuis la connexion entre le t#SGBD#Input et le tExtractDelemetedField

    ID : String, valeur row1.ID
    Niveau1 : String, valeur row2.Niveau2
    Normalement sur le champs ID en sortie du tMap tu ne devrais pas avoir de flêche.


    Globalement j'utilise le fait qu'avec Talend tu peux réutiliser les valeurs de connexions précédentes dans le job.


    Si tu connais un peu Java

    tu vas te trouver dans une méthode ou les codes principaux du tMysqlInput , tExtractDelimedField, tMap et du tMysqlOutput se suivent dans cet ordre.

    Après fait gaffe aussi aux erreurs de nommage
    NJiveau6
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    L'id passe très bien,

    en fait je viens de regarder, j'avais demandé à talend de créer une table de test, sauf qu'il mettait varchar(0) ce qui explique pourquoi je ne voyais pas de champ remplit pour les différents niveaux, je viens de voir ça à l'instant, donc je vais réessayer avec un bon varchar

  7. #7
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Citation Envoyé par moms_spaghetti Voir le message
    L'id passe très bien
    Tu vas avoir des surprise dans tes données. Pour moi le tExtractDelimetedField n'auto-propage pas les données ! La solution note 5.

    Citation Envoyé par moms_spaghetti Voir le message
    en fait je viens de regarder, j'avais demandé à talend de créer une table de test, sauf qu'il mettait varchar(0) ce qui explique pourquoi je ne voyais pas de champ remplit pour les différents niveaux, je viens de voir ça à l'instant, donc je vais réessayer avec un bon varchar
    Ajoute la taille des champs dans les schéma de la sortie ouyt dans le tMap si tu crées la table par Talend.
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Ca marche quand même vachement mieux !

    Merci pour la solution !

    PS: Et merci pour le fait de pouvoir réutiliser les valeurs des row, c'est toujours bon à savoir (je l'ai utilisé par sureté voyant votre dernier post)

    *pluie de pouces vert*

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. XPath: intersection de chemins
    Par aldo047 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/03/2003, 10h30
  2. Chemin d'accès au clip et scenario en flash
    Par Gential dans le forum Flash
    Réponses: 4
    Dernier message: 28/02/2003, 10h10
  3. Comment subsituer un chemin par un autre dans un réseau ?
    Par Baillard dans le forum Développement
    Réponses: 3
    Dernier message: 11/08/2002, 14h01
  4. [FORMS] Chemin des icones (intégré FAQ 150 QR)
    Par jerome62 dans le forum Forms
    Réponses: 2
    Dernier message: 30/07/2002, 08h32
  5. Algorithme de recherche de chemin
    Par amelie gaya dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 09/06/2002, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo