Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
Vous devez modifier la première ligne dans le script: le chemin d'accès du fichier.
Cordialement
HIC
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
Bonjour Henric Conström,
Je vous remercie pour votre réponse.
Cordialement;
SD
Re,
Quand je charge le fichier j'ai cette erreur:
Pouvez-vous m'aider à le résoudre?
Je vous remercie d'avance.
Cordialement;
Il ya plusieurs possibilités:
Only7Files:
Noconcatenate
First 7
Load LongFileName, ...
HIC
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
Vous devez modifier la première ligne dans le script: le chemin d'accès du fichier.
Cordialement
HIC
Merci infiniment.
Cordialement;
SD
Comme la structure est différente dans les différents fichiers, le script est plus compliqué ... mais il devrait fonctionner.
HIC