7 Replies Latest reply: Mar 4, 2016 9:26 AM by Florent Lelarge-Otiniano RSS

    Prendre valeur possible au chargement

    Romaric CANTIN

      Bonjour,

       

      J’ai une demande d’un de mes services sur une requête, en effet ils ne veulent pas voir les antériorités sur un même exercice je m’explique :

       

      Dans une de mes tables j’ai un lieu de stockage (LIEUST), un produit peut avoir deux lieux de stockage différents dans une même années et mes collègues veulent afficher seulement le dernier LIEUST (celui dans lequel le produit est présent lorsque je consulte la requête) et ceci est valable pour plusieurs autres champ.

       

      Est-ce qu’il y a un set ana permettant d’afficher le dernier champs ? celui valable au moment du lancement de la requête ?

       

      Par avance merci pour votre aide

       

      Bien cordialement

        • Re: Prendre valeur possible au chargement
          Florent Lelarge-Otiniano

          Bonjour Romaric,

           

          y a t'il dans ta table un champ date qui pourrait servir d'élément discriminant pour déterminer le dernier lieu de stockage ?

          dans ce cas, dans le script il faudrait créer un champ "dernier_lieu" dans le style :

           

          ma_table:

          load *,

          lieu as max_lieu //juste pour conserver le champ "lieu" : cette duplication servira à faire le script suivant...

          from ma_source.xls;

           

          load max_lieu,max(date) as maxdateparlieu

          resident ma_table group_by max_lieu;

           

          Ainsi, tu auras un champ qui identifie la dernière date par lieu : il te suffiras alors d'utiliser ce champ dans ton tableau pour afficher seulement le dernier lieu...

           

          Cordialement,

           

          Florent.

            • Re: Prendre valeur possible au chargement
              Romaric CANTIN

              Bonjour,

               

              Merci pour vos retours :

               

              J'ai ces champs la dans ma table :

              LOAD

                    UFMAG                                                as UFMAG_LOT,

                    ARMOIRE                                            as ARMOIRE_LOT,

                    CODPRO                                            as @CLE_CODPRO_LOT,

                    LOT                                                as LOT_LOT,

                    LOT                                                as LOT_LOT_MAX,

                    DATPEREM                                            as DATEPREM_LOT,

                    QTEENT                                            as QTEENT_LOT,

                    QTESOR                                            as QTESOR_LOT,

                    SERIENUM                                            as SERIENUM_LOT,

                    DATCREA                                            as DATCREA_LOT,

                   //DATCREA                                            as DATCREA_LOT_MAX,

                   //EXERCREA                                            as EXERCREA_LOT_MAX,

                    EXERCREA                                            as EXERCREA_LOT

              FROM

              [..\ENTREPOT\HEXAGONE_CREA\HEPROLOT.qvd]

              (qvd);


               

              @CLE_CODPRO_LOT LIBLONG LOT_LOT DATCREA_LOT
              S116015 IMMUNO ANTI HB 100UI/1ML (TRACABILITE) 10L0258530/07/2010 00:00:0026
              10L0448104/08/2010 00:00:0026
              10L1008418/03/2011 00:00:0026
              11L0075231/05/2011 00:00:0026
              12L0108929/03/2012 00:00:0026
              12L0378401/06/2012 00:00:0026
              12L0941805/12/2012 00:00:0026
              13L0190418/06/2013 00:00:0026
              13L0232319/03/2013 00:00:0026
              13L1156706/01/2014 00:00:0026
              14L0459506/05/2014 00:00:0026
              15L0001004/03/2015 00:00:0026
              15L0548807/09/2015 00:00:00

              26

               

              Voici le résultat obtenus

               

              Pour cet exemple je souhaiterai que la table ne me ressorte que l'enregistrement du 07/09/2015 (le dernier) quel script dois-je mettre en place ?

               

              Merci

               

              Cordialement

               

              Romaric

            • Re: Prendre valeur possible au chargement
              Florent Lelarge-Otiniano

              ok, il te suffit d'adapter le script que je t'ai joins précédemment :

               

              Ma_Table :

              LOAD

                    UFMAG                                                as UFMAG_LOT,

                    ARMOIRE                                            as ARMOIRE_LOT,

                    CODPRO                                            as @CLE_CODPRO_LOT,

                    LOT                                                as LOT_LOT,

                    LOT                                                as LOT_LOT_MAX,

                    DATPEREM                                            as DATEPREM_LOT,

                    QTEENT                                            as QTEENT_LOT,

                    QTESOR                                            as QTESOR_LOT,

                    SERIENUM                                            as SERIENUM_LOT,

                    DATCREA                                            as DATCREA_LOT,

                   //DATCREA                                            as DATCREA_LOT_MAX,

                   //EXERCREA                                            as EXERCREA_LOT_MAX,

                    EXERCREA                                            as EXERCREA_LOT

              FROM

              [..\ENTREPOT\HEXAGONE_CREA\HEPROLOT.qvd]

              (qvd);


              load LOT_LOT_MAX,max(DATCREA_LOT) as maxdateparlot

              resident Ma_Table group_by LOT_LOT_MAX;

               

              ça devrait marcher...

               

              Florent