Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Chargement des sept derniers fichiers

Bonjour à tous,

Dans mon rapport actuel, je fais une boucle for permettant de charger mes fichiers.

Cependant je voudrais ne charger que les 7 derniers fichiers de mon répertoire sans avoir à le faire à la main.

Les noms de mes fichiers csv sont de cette forme 'AAAA_MM_DD_nomFichier'.

J'ai pensé à tronquer le nom de mes fichiers en créant trois variables vMonth, vAnnée et Vday me permettant de de charger entre vDD et vDD-7 mais cela ne n'aboutit pas.

Pourriez vous m'aider? !

Cordialement;

S.D

1 Solution

Accepted Solutions
hic
Former Employee
Former Employee

Vous devez modifier la première ligne dans le script: le chemin d'accès du fichier.

Cordialement

HIC

View solution in original post

17 Replies
hic
Former Employee
Former Employee

For each vFile in FileList('c:\Files\*_nomFichier.csv')
AllFiles:
Load *, Date#(Left(ShortFileName,10),'YYYY_MM_DD') as Date;
Load *, Subfield(LongFileName,'\',-1) as ShortFileName;
Load '$(vFile)' as LongFileName Autogenerate 1;
Next vFile

Only7Files:
First 7
Load LongFileName, Date Resident AllFiles
     
Order By Date Desc;

For vFileNo = 1 to 7
Let vFile = Peek('LongFileName',vFileNo-1,'Only7Files');
Data:
Load * From [$(vFile)] (csv, ..., ...);
Next vFileNo

Drop Table AllFiles, Only7Files;

Cordialement

HIC

Not applicable
Author

Bonjour Henric Conström,

Je vous remercie pour votre réponse.

Not applicable
Author

Cordialement;

SD

Not applicable
Author

Re,

Quand je charge le fichier j'ai cette erreur:

Pouvez-vous m'aider à le résoudre?

Je vous remercie d'avance.

Cordialement;

hic
Former Employee
Former Employee

Il ya plusieurs possibilités:

  1. La boucle n'a pas trouvé aucun fichier. Ajouter "Exit script;" après la boucle pour voir les données que vous avez là.
  2. Vous avez renommé la table. (Les noms de table en rouge doit être le même.)
  3. Les 2 tables disposent d'un ensemble des champs identique. (Vert). Si c'est le cas, la 2e table sera concaténée avec la table "AllFiles". Ajouter le mot NoConcatenate:

Only7Files:

Noconcatenate

First 7

Load LongFileName, ...

HIC

Image1.png

hic
Former Employee
Former Employee

Ajouter une point-virgule après "Exit Script".

     Exit script ;

Quelles données avez-vous alors? Pouvez-vous afficher une boîte de liste avec "ShortFileName"?

HIC

hic
Former Employee
Former Employee

Vous devez modifier la première ligne dans le script: le chemin d'accès du fichier.

Cordialement

HIC

Not applicable
Author

Merci infiniment.

Cordialement;

SD

hic
Former Employee
Former Employee

Comme la structure est différente dans les différents fichiers, le script est plus compliqué ... mais il devrait fonctionner.

HIC