3 Replies Latest reply: Jul 19, 2016 2:40 AM by Fk Fisher RSS

    Construire une date à partir d'un nom de Fichier source

    Fk Fisher

      Bonjour,

       

      Je me permet de vous solliciter une nouvelle fois...sans doute par incompétence ????. Ma question fait suite à la réponse à une question précédente concernant l'exclusion de champs au chargement

      Il s'agirait cette fois de paramétrer la date de début et la date de fin en fonction du nom du fichier. En effet le nom de fichier contient le n° de mois étudié donc je pensais pouvoir le récupérer pour paramétrer la Date_jour_deb et Date_jour_fin comme présenter ci-dessous. Mais ce que j'ai écrit ne fonctionne pas !! Sauriez vous me dire où est mon erreur ?

       

      Encore merci

       

      let MoisFichier = Left(Subfield(Filebasename(),'_',4),2);

      let VAR01='01/' & (MoisFichier) & '/2016';

      let VAR02='31/' & (MoisFichier) & '/2016';

      let Date_jour_deb = date#(VAR01,'DD/MM/YYYY');

      let Date_jour_fin = date#(VAR02,'DD/MM/YYYY');

      set  Errormode=0;

       

      For Date_jour= '$(Date_jour_deb)' to '$(Date_jour_fin)'

      let Jour= left(date('$(Date_jour)'),5);        

       

      [Feuil1]:      

        LOAD

       

          [Mesure],       

          [Départ.],           

          [Code],            

          [Forme],        

          [Capit],        

         [$(Jour)] as AUTRESEM,          

          '$(Jour)' as Jour          

        FROM [lib://Desktop/Reprise_Qlik_121_06.xlsx]

        (ooxml, embedded labels, table is Feuil1);

       

      Next

        • Re: Construire une date à partir d'un nom de Fichier source
          Almamy DIABY

          Bonjour,

          Je pense que la fonction file Filebasename() renvoie une chaîne contenant le nom du fichier de tables en cours de lecture, sans chemin ni extension. Alors, cette fonction est logiquement utilisé à l’intérieur d'un LOAD  comme l'indique

          l'exemple ci dessous:

          Load *, filebasename( ) as X from

          C:\UserFiles\abc.txt

          on aura 'abc' dans le champ X à chaque enregistrement lu.


          Vous n'utilisez donc pas  filebasename( ) convenablement.

          • Re: Construire une date à partir d'un nom de Fichier source
            Almamy DIABY

            Je pense que qu'on peut trouver une manière de récupérer  le Mois de ton fichier.

             

            FICHIER:

            LOAD distinct

                 FileBaseName() as Nom_Fichier

            FROM [lib://b/Reprise_Qlik_121_06.xlsx]

            (ooxml, embedded labels, table is Feuil1);

             

             

            let MoisFichier =  Left(Subfield(Peek('Nom_Fichier', 0,'FICHIER'),'_',4),2);

             

             

            DROP Table FICHIER;

             

             

            let VAR01='01/' & (MoisFichier) & '/2016';

            let VAR02='31/' & (MoisFichier) & '/2016';

            let Date_jour_deb = date#(VAR01,'DD/MM/YYYY');

            let Date_jour_fin = date#(VAR02,'DD/MM/YYYY');