Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous ,
J'ai besoin d'aide.
Je dispose d'un répertoire C:\\Doc\History
composé des fichiers Excel :
20141204-TeamControl.csv
20141204-Control.csv
20141205-TeamControl.csv
20141205-Control.csv
20141208-TeamControl.csv
20141208-Control.csv
Pour info ses fichiers sont journaliers. Moi je ne veux que les fichiers -Control.csv.
Les Teamcontrol.csv sont à ignorer.
Je veux intégrer les fichiers -Control.csv
La règle de gestion est la suivante : intégrer le dernier fichier -Control.csv dans mon modèle QVW en ne prenant qu'en compte que les ajouts et les modifications apporter au fichier de la veille.
Pouvez m'aider à créer la boucle qui me permettra de l’intégrer à mon modèle.
Cordialement,
SET ThousandSep=' ';
SET DecimalSep=',';
SET MoneyThousandSep=' ';
SET MoneyDecimalSep=',';
SET MoneyFormat='# ##0,00 €;-# ##0,00 €';
SET TimeFormat='hh:mm:ss';
SET DateFormat='DD/MM/YYYY';
SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
SET MonthNames='janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.';
SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';
LET DATE_JOUR = PurgeChar(Date(Today(),'YYYY/MM/DD'),'/'); ///variable permettant la date du jour au format AAAAMMJJ
//// Chargement du dernier fichier. le fichier qui correspond au fichier de DATE_JOUR
Control:
LOAD
champ1,
champ2,
champN
from C:\Desktop\$(DATE_JOUR)-Control.csv
(txt, codepage is 1252, embedded labels, delimiter is ';', msq);
/// ajouter le dernier fichier aux autres deja charger. cela implique qu'on a
// deja créer un qvd qui renferme les données des autres jours
// 'dossier qvd\Control.qvd' représente le fichier qvd qui contient les données des autres jours
IF FileSize('dossier qvd\Control.qvd')> 0 THEN
Concatenate
LOAD
champ1,
champ2,
champN
From [dossier qvd\Control.qvd](qvd);
ENDIF
STORE * FROM Control into 'dossier qvd\Control.qvd';
Merci pour votre réponse.
Le script marche. Mais il y a un petit bémol. c'est un cas de figure que je n'avais pas prévu.
Mon appli se recharge chaque 1 heure et le Fichier Xls du jour est Présent dans le répertoire à partir de 16 H.
Donc avant cette heure (16 Heure ) le script actuel ne fonctionne pas. Puisque à la date du jour (20141208) il n'y pas de fichier avant 16 h.
Dc en attendant l'appli doit pouvoir fonctionner avec le dernier fichier control.XLS présent dans le repertoire (c'est à dire 20141207-Control.csv.
Avec le script tant que le fichier du jour n'est pas dans le répertoire , l'application se plante.
Pour indexer le fichier de le veille il faut ajouter -1 en face de Today()
LET DATE_JOUR = PurgeChar(Date(Today() -1,'YYYY/MM/DD'),'/'); ///variable permettant la date du jour au format AAAAMMJJ
Merci encore Almany,
Mais à partir de 16 h qaund mon fichier du jour (20141208) sera présent dans mon repertoire est ce que le script sera toujours opérationnel ?
Parce que je retiens le fichier de la veille (ou le dernier fichier le plus recent ) dans le cas où mon fichier du jour n'est pas encore disponible .
utilise le code ci-dessous pour DATE_JOUR
LET DATE_JOUR = PurgeChar(Date(ReloadTime() - '15:59:00','YYYY/MM/DD'),'/'); ///variable permettant la date du jour au format AAAAMMJJ
Merci encore,
Mais j'ai déjà utilisé cette technique.
Mais le client vient de me dire que le principe de fichier journalier n'est pas toujours respecté.
par exemple pour le mois de novembre , le dernier fichier date du 26 novembre et le premier fichier de décembre date du 01 Décembre, Par ailleurs ya de fichier en date du 3 Décembre.
Donc là je suis en train de créer une variable qui va me stocker la date du fichier le plus récent.
Par exemple aujourd'hui il n'aura pas de fichier pareil pour demain . Pour que l'appli tourne il faut charger le dernier fichier présent dans le répertoire. (Si le prochain fichier est celui du 20 Décembre par exemple le fichier à charger pour que l'application tourne devra être celui du 07 décembre).
Encore désolé pour ces imprécisions concernant les règles de gestions.
je pense que le script marche toujours si le fichier est créé à la date indiquée peu importe s'il y a des jours où les fichiers ne sont pas générés
Jeu de données.
Création du DVD à partir de 20141201.
Première de gestion : On intègre le fichier du jour
Deuxième de gestion : Si le fichier du jour n'est pas générer dans le répertoire on récupère le fichier le plus récent . c'est à dire 20141206.
est ce que le fichier du 6 est toujours créé 6