Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Création d'un fichier QVD unique à partir de plusieurs fichiers CSV

Bonjour à tous 😃

J'aimerai savoir s'il est possible de pouvoir alimenter un fichier qvd déjà existant grâce à de nouvelles sources en csv.

Je m'explique : tous les mois, je sors un fichier de mise à jour de mon application.

Ce fichier ce nomme NomDuFichierAAAAMM

J'ai créé un QVD que je recharge entièrement tous les mois.

Je me demande s'il est possible de seulement recharger le nouveau mois dans ce même QVD?

Merci d'avance pour vos réponses

Maw

1 Solution

Accepted Solutions
pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Maureen,

Il y a effectivement une technique plutôt simple pour accumuler mensuellement des données dans un fichier QVD. Il s'agit simplement de commencer par charger le contenu du fichier QVD dans une table, puis d'y concatener le contenu du nouveau fichier Excel, et d'ensuite remplacer le fichier QVD existant par le contenu actualisé de la table.

En pseudo code, cela ressemblerait à ceci:

TableInfo:

LOAD *

From (qvd);

Concatenate(TableInfo)

LOAD *

From (...);

STORE TableInfo Into (qvd);

Et voilà, le tour est joué.

Pour ajouter un peu plus de solidité au script, il y a aussi moyen d'ajouter un élément de validation lors du chargement. Ceci est particulièrement facile si vous avez des clés primaires dans vos données source. Par exemple:

TableInfo:

LOAD Nom_champ_clé, champ2, champ3, ...

From (qvd);

Concatenate(TableInfo)

LOAD Nom_champ_clé, champ2, champ3, ...

From (...)

Where not Exists(Nom_champ_clé);

STORE TableInfo Into (qvd);

Cordialement,

Philippe Grenier

View solution in original post

3 Replies
pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Maureen,

Il y a effectivement une technique plutôt simple pour accumuler mensuellement des données dans un fichier QVD. Il s'agit simplement de commencer par charger le contenu du fichier QVD dans une table, puis d'y concatener le contenu du nouveau fichier Excel, et d'ensuite remplacer le fichier QVD existant par le contenu actualisé de la table.

En pseudo code, cela ressemblerait à ceci:

TableInfo:

LOAD *

From (qvd);

Concatenate(TableInfo)

LOAD *

From (...);

STORE TableInfo Into (qvd);

Et voilà, le tour est joué.

Pour ajouter un peu plus de solidité au script, il y a aussi moyen d'ajouter un élément de validation lors du chargement. Ceci est particulièrement facile si vous avez des clés primaires dans vos données source. Par exemple:

TableInfo:

LOAD Nom_champ_clé, champ2, champ3, ...

From (qvd);

Concatenate(TableInfo)

LOAD Nom_champ_clé, champ2, champ3, ...

From (...)

Where not Exists(Nom_champ_clé);

STORE TableInfo Into (qvd);

Cordialement,

Philippe Grenier

schivet
Contributor III
Contributor III

Bonjour,

Si tu n'as pas de Nom_champ_clé, tu peux aussi renomer le fichier .csv to .old par exemple aprés lecture afin qu'il ne soit pas relu la fois suivante..

Cordialement

Stéphane

Not applicable
Author

Merci beaucoup,

Cela fonctionne très bien 😃