1. #1
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut urgent Jointure dans un tMAP

    Bonjour,

    Je souhaite faire une jointure dans un tMap pour récupérer les clés primaires des tables en entrée pour les chargés dans la table de sortie. J’ai plusieurs colonnes de la table main avec lesquelles je dois faire une jointure avec une table lookup (TABLE_LOOKUP3) pour alimenter par la suite 4 colonnes distinctes de la table de sortie (tableDestination). Dans la colonne TABLE_LOOKUP3.code vu que j’aurai 4 colonnes de la table main qui vont pointer vers elle est ce que je dois mettre OR entre les colonnes.

    Pour alimenter la colonne VISIT_ID je voudrai faire ceci
    si TABLE_LOOKUP3.nom=a récupérer la colonne con_id ( TABLE_LOOKUP3.CON_ID) et la mettre dans TABLEDESTINATION.VISIT_ID
    Si TABLE_LOOKUP3.nom=b récupérer la colonne con_id ( TABLE_LOOKUP3.CON_ID) et la mettre dans TABLEDESTINATION.VISIT_ID
    Si TABLE_LOOKUP3.nom=c récupérer la colonne con_id ( TABLE_LOOKUP3.CON_ID) et la mettre dans TABLEDESTINATION.VISIT_ID

    Pour les autres tables lookup(TABLE_LOOKUP1, TABLE_LOOKUP2 et TABLE_LOOKUP4) je voudrai récupérer leurs id et les mettre chacune dans une colonne de la table de sortie. J’ai glissée les colonnes de table main dans les colonnes respectives des tables lookup.

    En pièce les spécifications

    Merci de votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    septembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2017
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    Bonjour

    Ce que je te propose c'est de mettre plusieurs fois ta table LOOKUP3 (3 fois) et tu appliques un filtre (nom=a pour la première, nom=b etc). Puisque tu dois charger 3 informations différentes de trois enregistrements différents de ta table lookup3, il faut considérer que tu dois avoir 3 tables différentes.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    Bonjour,

    Merci pour votre réponse. Je vais faire ça.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    Et si j’utilise une variable avec les conditions ternaires pour faire if nom=a il me renvoie le visit_id ainsi de suite.

    Chargé 3 fois la table lookup3 ne va poser un problème de mémoire?


    Merci d'avance.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    septembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2017
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    si je comprends bien le problèm, 3 enregistrements de la table lookup3 (nom=a; nom=b; nom=c) doivent alimenter 3 colonnes d'un seul enregistrement de la table cible.
    Une condition ne permettra donc pas d'avoir toutes les informations en même temps pour l'enregistrement cible. il faudra soit boucler en amont, soit alimenter l'enregistrement cible en plusieurs fois ce quie n'est jamais top.

    On aura donc pour la table lookup3, trois entrées dans le tmap. Chaque entrée sera filtrée. Pour moi c'est le plus simple

  6. #6
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    Bonjour,
    Merci pour votre aide.

    J'ai mis la table lookup3 3 fois en entrée et j'ai fait un join table. juste que la c'est bon il me ramène les id de la jointure.

    j'ai crée 3 variables

    var1: TABLE_LOOKUP3.nom==a? TABLE_LOOKUP3.CON_ID : 0 qui alimente la colonne TABLEDESTINATION.VISIT_ID

    var2: TABLE_LOOKUP3.nom==b? TABLE_LOOKUP3.CON_ID : 0 qui alimente la colonne TABLEDESTINATION.VISIT_ID => table join 1

    var3: TABLE_LOOKUP3.nom==c? TABLE_LOOKUP3.CON_ID : 0 qui alimente la colonne TABLEDESTINATION.VISIT_ID => table join 2

    Il ne me ramène pas les id que je veux je n'ai que des 0.

    Avez vous une idée pour résoudre ce problème svp?

    Merci d'avance.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    septembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2017
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    il ne faut pas créer de variable mais mettre une clause "where" dans le txxxinput ==> select * from lookup3 where nom ='a'.
    Faire la meme chose sur les deux autres en adaptant la clause where (nom='b' nom = 'c')

    ensuite dans le tmap
    table1.con_id ==> destination.zone1
    table2.con_id ==> destination.zone2
    table3.con_id ==> destination.zone3

  8. #8
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    Merci beaucoup.

    J'ai besoin d'autres informations dans la table lookup3.

    Je fais la jointure entre la table main et la table lookup pour récupérer l'id correspondant à la jointure.

    table_Main.code = table_lookup3.code => alimenté table_destination.pro_id


    table_Main.code = table_lookup4.code => alimenté table_destination.sp_id

    lookup3 et lookup4 c'est la même table.

    ce que je voudrais

    TABLE_LOOKUP3.nom=a => alimenté TABLEDESTINATION.VISIT_ID

    TABLE_LOOKUP4.nom=b => alimenté TABLEDESTINATION.VISIT_ID (table join dans le tMap)

    si je fais un filtre comme vous l'avez suggérer ma jointure ne pourra pas se faire vu que je n'aurai pas les enregistrements.

    Ps: Je n'ai pas les noms (nom=a, nom=b...) dans la table source (table_Main). Ils ne sont présent que dans la table lookpup.


    Une autre question. Au niveau tUniqRow est ce qu'il faut obligatoirement avoir un attribut de clé?

    Merci d'avance.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    septembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2017
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    est-il possible d'avoir un echantillon des données ou un exemple similaire en terme de données source et de données cible.

    Pouvez-vous faire un cas de figure dans Excel par exemple

  10. #10
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    Bonsoir,

    Trouvez en PJ un exemple du contenue des tables dans un fichier Excel avec 3 onglets (lookup, table main et table cible).

    table_main.mtt=>psv
    table_main.exe=>psv

    table_main.a_code=>ssp
    table_main.b_code=>ssp

    Je vous remercie d'avance.
    Fichiers attachés Fichiers attachés

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    septembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2017
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    je suis désolé mais on ne retrouve aucune des colonnes qui sont mentionnées dans le document word initale.

  12. #12
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    Bonjour,
    Je n'ai pas fais attention au word comme j'ai beaucoup de cas comme ça j'étais partie sur d'autres tables désolée.

    Je remis en pièce un autre doc de spec et un fichier excel avec les 2 autres lookup.


    merci d'avnce.
    Fichiers attachés Fichiers attachés

  13. #13
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    septembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2017
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    il manque encore 3 colonnes de la table main
    TABLE_MAIN.visit
    TABLE_MAIN.admit
    TABLE_MAIN.dischar

  14. #14
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    J'ai changé le word, j'ai mis un nouveau.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    septembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2017
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    tes colonnes cibles du documents word sont en doubles. soit cela correspond à 2 enregistrements dans ta table cible, soit tu donnes des noms différents.

    C'est justement que là réside toute la solution ==> j'attends ta réponse.

    TABLE_LOOKUP3.id_lookup ==> ssp_lookup_id
    TABLE_LOOKUP3.id_lookup(1)==> ss_lookup_id
    TABLE_LOOKUP3_1.id_lookup==> ssp_lookup_id

    TABLE_LOOKUP3_1.id_lookup id (2) ==>ss_lookup_id

  16. #16
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    ssp_lookup_id et ss_lookup_id sont 2 colonne distinctes de la table cible chacune est présente une fois. J'ai fais join table avec la table cible dans le tmap c'est pourquoi elle est présente 2 fois dans la table cible. j'ai fais ce join pour pouvoir récupérer l'id correspondant au contenu de la colonne a_code et b_code de la table main qui sont regrouper dans la colonne code de la table lookup3.

    ce que je veux

    - a_code et nom=a :
    si le TABLE_MAIN.a_code=lookup3.code ==> table_cible_ssp_lookup_id et me mettre lookup3.id_lookup correspondant ookup3.nomp=a dans la colonne table_cible_ss_lookup_id

    - b_code et nom=b => table join
    et je fait pareil dans la table join pour

    si le TABLE_MAIN.b_code=lookup3.code ==> table_cible_ssp_lookup_id et me mettre lookup3.id_lookup correspondant ookup3.nomp=b dans la colonne table_cible_ss_lookup_id


    Merci beaucoup pour votre aide.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    septembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2017
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    tu ne reponds pas à la question. Dans la description word de la table cible, j'ai 2 fois la colonne ssp_lookup_id et 2 fois la colonne ss_lookup_id.

    Est-ce que la table cible contient 2 ou 4 colonnes pour ces infos

  18. #18
    Membre à l'essai
    Femme Profil pro
    Stagiaire BI
    Inscrit en
    août 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Stagiaire BI
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2014
    Messages : 69
    Points : 20
    Points
    20

    Par défaut

    Je l'ai mis 2 fois car j'ai 2 fois la table cible dans le tMap à l'aide du join table (j'ai une seule table de sortie).

    sp_lookup_id : une pour la table cible et une pour la table join
    ss_lookup_id une pour la table cible et une pour la table join

    vu que j'ai mis 2 fois la table lookup3 et que les colonnes de la lookup3 alimentent les mêmes colonnes de la cible ça sera une concaténation et ce n'est aps une concaténation que je veux.

    Je ne sais si j'ai répondue à la question.


    Merci.

Discussions similaires

  1. Jointure entre 2 valeurs null dans un tMap
    Par sedah dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 19/04/2010, 11h22
  2. Plusieurs jointures dans une requête sql
    Par Pero dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2005, 20h59
  3. INNER JOIN ... ON ... ou jointure dans clause where
    Par schmur1 dans le forum MS SQL-Server
    Réponses: 12
    Dernier message: 28/06/2005, 09h16
  4. Optimiser les jointures dans des requêtes
    Par klereth dans le forum PostgreSQL
    Réponses: 12
    Dernier message: 23/04/2005, 17h29
  5. Réponses: 4
    Dernier message: 12/02/2005, 17h21

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