13 Replies Latest reply: Jan 17, 2013 9:12 AM by Martin FAVIER RSS

    flager les données qui sont présentes dans une table ''référentiel''

      Bonjour à tous

       

      Quelqu’un sait-il svp la façon dont il faut aborder la problématique suivante ? :

       

      Je cherche àfaire une sorte de jointure entre deux tables qui ont été chargées précédemment à partir de 2 fichier XLS.

      En effet pour deux colonnes (2 données) de ma table B, je souhaiterai flager toutes les données qui sont présentes dans ma table ''référentiel'' précédemment chargée a savoir une  colonne de ma table A …

      Or, je ne sais pas comment évoquer une table existante dans les règles du load d'un fichier... (j'ai l'impression que c'est interdit)

      De même, je ne sais pas faire appel a 2 tables dans le load d'une table 'résident'

       

       

      Quelqu'un peut il svp me mettre sur une piste svp ? un exemple ?

       

       

      Merci beaucoup

       

      Sebastien

        • Re: flager les données qui sont présentes dans une table ''référentiel''
          Martin FAVIER

          Bonjour Sebastien,

           

          Je viens de vous répondre sur votre autre post.

           

          J'espère que ceci vous aiguillera dans vos recherches.

           

          Martin Favier

          • Re: flager les données qui sont présentes dans une table ''référentiel''
            Martin FAVIER

            Pour plus de simplicité, je vous remet ici le contenu :

             

             

            sebtillier a écrit:

             

            En effet pour deux colonnes (2 données) de ma table B, je souhaiterai flager toutes les données qui sont présentes dans ma table ''référentiel'' précédemment chargée a savoir une  colonne de ma table A …

            Or, je ne sais pas comment évoquer une table existante dans les règles du load d'un fichier... (j'ai l'impression que c'est interdit)

            Vous pouvez pour cela utiliser la fonction Exists().

            Je pourrais vous donner plus de détails sur cette fonction si vous nous transmettez la structure de vos fichiers Excel.

             

            sebtillier a écrit:

             

            De même, je ne sais pas faire appel a 2 tables dans le load d'une table 'résident'

            L'instruction Resident permet de travailler sur une table déjà chargée dans la mémoire de QV. Si vous voulez travailler sur deux tables, vous devrez plutôt utiliser les jointures ou concatenations (JOIN, CONCATENATE)

             

            Martin Favier

              • Re: flager les données qui sont présentes dans une table ''référentiel''

                Merci beaucoup Martin

                 

                 

                Ci joint les structures des deux fichiers.

                Dans le referentiel A, la colonne que je souhaite matcher ('' TRANSF'' )

                est en rouge.

                 

                Pour le fichier B, voici un extrait du loader mis en place.

                 

                B :

                LOAD

                      replace(@18:31,'-','') as TRANSF1,

                 

                 

                      replace(@36:49,'-','') as TRANSF2

                     num(@53:62),

                     num(@63:74) as FEES,

                     RecNo() as enreg

                  FROM

                (fix, codepage is 1252);

                 

                 

                Si TRansf1 et Transf2  sont present dans TRANSF du fichier A, alors, je

                vais devoir dans une feuille excel de restitution qui reprendra les ligne

                de B, restituer ''FEES'' sur deux lignes (cad diviser le FEES par 2 et

                creer une ligne pour TRANSF1, une autre ligne pour TRANSF2). Si seul TRANSF

                1 ou TRANSF2 sont trouvés dans le referentiel, alors, une seule ligne en

                sortie avec le FEES associé.

                 

                 

                J'avais donc dans l'idée de creer une colonne lors du load de B afin de la

                valoriser, par exemple, pour chaqune des ses lignes  "2" si les deux champs

                TRANSF1 et TRANSF2 de la ligne etaient trouvés dans A.

                 

                 

                Je suis preneur de votre proposition de m'envoyer un exemple de

                l'utilisation de la fonction Exists, La doc sur ce point ne me permets pas

                en l'etat d'avancer veritablement.

                 

                 

                Merci encore

                 

                 

                Sebastien

                 

                 

                (See attached file: B.TXT)(See attached file: A.xls)

                                                                                                - Re: flager les données qui sont

                       présentes dans une table ''référentiel''                                                                               

                (Internet)                                                              

                       qcwebmaster                                                                               

                A :                                                                               

                Sebastien TILLIER                                                                               

                15/01/2013 11:04                                                                               

                Veuillez répondre à jive-1043897007-24f1-2-6fmu                                                                               

                 

                  • Re: flager les données qui sont présentes dans une table ''référentiel''
                    Martin FAVIER

                    Auriez-vous un aperçu du résultat souhaité ?

                     

                    Martin Favier

                      • Re: flager les données qui sont présentes dans une table ''référentiel''

                        Re bonjour Martin

                         

                        Voici donc de nouvelles versions (plus simples des fichiers A et B) ainsi

                        surtout qu'une illustration de la feuille excel attendue en sortie. (avec

                        dans la feuille result, quelques commentaires)

                         

                        La dificulté pour moi reside surtout dans la facon d'aborder le cas N° 1...

                        cas faire des jointures

                         

                         

                        Merci encore

                        Sebastien

                         

                         

                         

                        (See attached file: B.TXT)(See attached file: A.xls)(See attached file:

                        result.xls)

                                                                                                        - Re: flager les données qui sont

                                 présentes dans une table ''référentiel''                                                                               

                        (Internet)                                                   

                                 qcwebmaster                                                                               

                        A :                                                                               

                        Sebastien TILLIER                                                                               

                        15/01/2013 12:08

                                                                                                        Veuillez répondre à jive-1043897007-24f1-2-6fnm                                                                               

                         

                          • Re: flager les données qui sont présentes dans une table ''référentiel''
                            Martin FAVIER

                            Merci,

                             

                            J'essaie de regarder ça ce soir et reviens vers vous...

                             

                            Martin Favier

                              • Re: flager les données qui sont présentes dans une table ''référentiel''

                                merci !

                                                                                                                - Re: flager les données qui sont

                                         présentes dans une table ''référentiel''                                                                               

                                (Internet)                                                              

                                         qcwebmaster                                                                               

                                A :                                                                               

                                Sebastien TILLIER                                                                               

                                15/01/2013 17:22                                                                               

                                Veuillez répondre à jive-1043897007-24f1-2-6fst                                                                               

                                 

                                  • Re: flager les données qui sont présentes dans une table ''référentiel''
                                    Martin FAVIER

                                    Visiblement le fichier Excel contenant le résultat n'a pas été chargé...

                                    Si je me refert donc à votre demande initiale qui était :

                                    En effet pour deux colonnes (2 données) de ma table B, je souhaiterai flager toutes les données qui sont présentes dans ma table ''référentiel'' précédemment chargée a savoir une  colonne de ma table A…

                                     

                                    Admettions que nous donnions au flag la valeur :

                                         - 0 si TRANSFEROR et TRANSFEREE ne sont pas dans le champ TRANSF de la table A

                                         - 1 si TRANSFEROR ou TRANSFEREE est dans le champ TRANSF de la table A

                                         - 2 si TRANSFEROR et TRANSFEREE est dans le champ TRANSF de la table A

                                     

                                     

                                    Dans le script de chargement des données de la table B, vous pouvez utiliser cette formule :

                                    LOAD SECURITY,

                                         TRANSFEROR,

                                         TRANSFEREE,

                                         if(

                                              Exists(TRANSF, TRANSFEROR) and Exists(TRANSF, TRANSFEREE),

                                              1,

                                              if(

                                                   Exists(TRANSF, TRANSFEROR) or Exists(TRANSF, TRANSFEREE),

                                                   2,

                                                   0)) as Flag

                                    FROM B.TXT (txt);

                                     

                                     

                                    J'espère que cela pourra vous aider un peu plus...

                                     

                                    Martin Favier

                                      • Re: flager les données qui sont présentes dans une table ''référentiel''

                                        Bonjour et merci,

                                         

                                        Je vais regarder (je n'etais pas present hier)

                                         

                                        Concernant le pbl de ''chargement'' du tableau Excel Result, Je l'avais

                                        join au mail. Est-ce bien la procedure pour partager des  documents ?

                                         

                                        Si il me faut par la suite proceder autrement, n'(hesitez pas svp a me le

                                        dire).

                                         

                                        Bonne reception

                                        Sebastien

                                                                                                                        - Re: flager les données qui sont

                                                 présentes dans une table ''référentiel''                                                                               

                                        (Internet)                                                              

                                                 qcwebmaster                                                                               

                                        A :                                                                               

                                        Sebastien TILLIER                                                                               

                                        15/01/2013 21:23                                                                               

                                        Veuillez répondre à jive-1043897007-24f1-2-6fug                                                                               

                                         

                                        • Re: flager les données qui sont présentes dans une table ''référentiel''

                                          Bonjour, Martin

                                           

                                          Mon script, suite a votre poposition est donc le suivant :

                                           

                                           

                                          SOURCE_DVP_TABLE_5 :

                                          LOAD

                                               replace(@18:31,'-','') as TRANSFEROR_5,

                                               replace(@36:49,'-','') as TRANSFEREE_5,

                                               num(@53:62) as quantity_5,

                                               num(@63:74) as fee_5,

                                               replace(@87:n,'A',''),

                                                 RecNo() as num_enreg,

                                                 if(

                                                      exists(TRANSF,TRANSFEROR_5) and Exists(TRANSF,TRANSFEREE_5),

                                                            1,

                                                            if(exists(TRANSF,TRANSFEROR_5) or Exists(TRANSF,

                                          TRANSFEREE_5),

                                                            2,

                                                            0)) as flag

                                            FROM

                                          (fix, codepage is 1252);

                                           

                                           

                                           

                                           

                                          Or  je rencontre un probleme dans le load du fichier  : Field not found -

                                           

                                           

                                          Le load n'est visiblement pas capable d'interpreter les noms de champs

                                          TRANSFEROR_5 et TRANSFEREE_5... Peut etre est-ce parceque j'utilise ici des

                                          alias? savez vous svp si il y a un contournement possible ?

                                           

                                          Merci d'avance

                                           

                                          Sebastien

                                                                                                                          - Re: flager les données qui sont

                                                   présentes dans une table ''référentiel''                                                                               

                                          (Internet)                                                              

                                                   qcwebmaster                                                                               

                                          A :                                                                               

                                          Sebastien TILLIER                                                                               

                                          15/01/2013 21:23                                                                               

                                          Veuillez répondre à jive-1043897007-24f1-2-6fug                                                                               

                                           

                                          • Re: flager les données qui sont présentes dans une table ''référentiel''

                                            Re-bonjour Martin

                                             

                                            Je viens de m'en sortir avec une table ''resident'' intermediaire.

                                            Je ne sais pas si c'est fait dans les regles de l'art mais ca fonctionne.

                                             

                                            Merci en tout cas pour votre support.

                                             

                                            Bonne reception

                                            Sebastien

                                                                                                                            RE: - Re: flager les données qui 

                                                     sont présentes dans une table ''référentiel''  (Document link: Sebastien

                                                     TILLIER)                                                                               

                                            Sebastien TILLIER                                                                               

                                            MOA Business Revenue                                                    

                                                     Change Manager                                                          

                                                     BNP Paribas Securities Services                                         

                                                     Grands Moulins de Pantin - Asie                                         

                                                     ACI : CPD07A1                                                           

                                                     Tel: +33(0)1 58 16 36 69                                                                               

                                            A :                                                                               

                                            jive-1043897007-24f1-2-6fug                                                                               

                                            17/01/2013 10:37                                                                               

                                            Bonjour, Martin

                                             

                                            Mon script, suite a votre poposition est donc le suivant :

                                             

                                             

                                            SOURCE_DVP_TABLE_5 :

                                            LOAD

                                                 replace(@18:31,'-','') as TRANSFEROR_5,

                                                 replace(@36:49,'-','') as TRANSFEREE_5,

                                                 num(@53:62) as quantity_5,

                                                 num(@63:74) as fee_5,

                                                 replace(@87:n,'A',''),

                                                   RecNo() as num_enreg,

                                                   if(

                                                        exists(TRANSF,TRANSFEROR_5) and Exists(TRANSF,TRANSFEREE_5),

                                                              1,

                                                              if(exists(TRANSF,TRANSFEROR_5) or Exists(TRANSF,

                                            TRANSFEREE_5),

                                                              2,

                                                              0)) as flag

                                              FROM

                                            (fix, codepage is 1252);

                                             

                                             

                                             

                                             

                                            Or  je rencontre un probleme dans le load du fichier  : Field not found -

                                             

                                             

                                            Le load n'est visiblement pas capable d'interpreter les noms de champs

                                            TRANSFEROR_5 et TRANSFEREE_5... Peut etre est-ce parceque j'utilise ici des

                                            alias? savez vous svp si il y a un contournement possible ?

                                             

                                            Merci d'avance

                                             

                                            Sebastien

                                                                                                                            - Re: flager les données qui sont

                                                présentes dans une table ''référentiel''                                                                               

                                            (Internet)                                                              

                                                qcwebmaster                                                                               

                                            A :                                                                               

                                            Sebastien TILLIER                                                                               

                                            15/01/2013 21:23                                                                               

                                            Veuillez répondre à jive-1043897007-24f1-2-6fug