Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour tout le monde,
Je veux créer un Fichier QVD aprés le chargement de mes données, donc j'ai ajouter cette instruction dans mon script de chargement :
Reservation:
ADD LOAD
"ID_RESA",
"MONTANT_TOTAL";
SQL SELECT
"ID_RESA",
"MONTANT_TOTAL"
FROM DB.RESERVATIONS;
STORE Reservation into C:\Users\user1\Desktop\ProjetQlikView\QVD\Reservation.QVD;
DROP TABLE Reservation;
mais il m'affiche le message d'erreur suivant :
L'exécution du script a échoué. Recharger les anciennes données?
1-Pouriez vous svp me dire ce que je fais de faux?
2- et Aprés avoir créer ces fichier, Comment je peux les réutuliser la prochaine fois ? est ce que je dois changer le script ou faire autre chose ?
Merci pour votre aide.
Cordialement.
ajoute juste le type de fichier dans ton load ...(qvd);
LOAD * from
ca devrait le faire
Bonjour Philippe
1. Il faut encadrer le chemin avec des [] ou " "
STORE Reservation into
2. pour les recharger,
LOAD * from
cordialement
Christian
J'ai toujours le mème message d'erreur
Philippe
peut être la table Réservation a une faute d'orthographe ou est vide car ne ramène pas de données ou la requête s'exécute mal
découpe ton script "exit script;" juste après la reqûete SQL pour voir où se situe l'erreur
le mode debbug est bien aussi
christian
ajoute juste le type de fichier dans ton load ...(qvd);
LOAD * from
ca devrait le faire
Oui maintenant ça marche trés bien merci beaucoup.
Bonjour tout le monde,
Je vous remercie pour toutes ces réponses.
j'ai une question dans le même contexte.
est ce que vous pouvez me donner un exemple simple de chargement de tables, et son stockage avec une instruction STORE.
Ce que je fais en ce moment c'est ça:
load champ1, champ2,....ect;
select champ1, champ2,....ect from DOCUMENTS;
STORE DOCUMENTS into
DROP TABLE DOCUMENTS;
Si je veux charger les autres table est ce que je nom le fichier QVD, avec le même nom de la table chargée ou bien leur donner un nom commun pour toutes les tables.
Exemple : Est-ce que je fait ça:
DOCUMENTS:
Load champ1, champ2,....ect;
select champ1, champ2,....ect from DOCUMENTS;
STORE DOCUMENTS into
DROP TABLE DOCUMENTS;
LIGNES:
Load champ1, champ2,....ect;
select champ1, champ2,....ect from LIGNES;
STORE DOCUMENTS into
DROP TABLE LIGNES;
Ou bien je fais ça (METHODE 2)
DOCUMENTS:
Load champ1, champ2,....ect;
select champ1, champ2,....ect from DOCUMENTS;
STORE DOCUMENTS into
DROP TABLE DOCUMENTS;
LIGNES:
Load champ1, champ2,....ect;
select champ1, champ2,....ect from LIGNES;
STORE DOCUMENTS into
DROP TABLE LIGNES;
et comment joindre deux tables pour créer un champs calculé avec un test?
Je vous remercie tous pour votre contribution.
Cordialement,
Bonjour Slim1501,
A ma connaissance les fichiers QVD ne contiennent qu'une seule table, ainsi chaque chargement de données dans un QVD remplacera les données déjà présentes. Donc il te faut créer 1 fichier QVD par table. Avec ta méthode 2 seules les données de la table LIGNE seront insérées dans le QVD DATA.
Exemple de script :
Table1:
LOAD * ;
SQL SELECT champ1, champ2, ... FROM BLABLA;
STORE Table1 INTO REQUETE.qvd (QVD);
Concernant ta demande pour joindre 2 tables, est-ce en rapport avec les QVD ? Il faudrait que tu donnes un exemple de ce que tu veux faire pour qu'on puisse te répondre correctement.
Bonsoir Stephane_DM,
Je vous remercie pour votre réponse,
Concernant ma deuxième question, elle est un peu longue mais je suis bloqué et je n'arrive pas à trouver la solution:
En fait je souhaitrais créer un champ "catégorie" de la table ARTICLES seulement voila pour créer ce champ il faut faire un test sur un autre champ DOC_STYPE d'une autre table qui s'appelle DOCUMENTS.
J'ai donc, pensé de charger la table LIGNES qui à la clé de la table ARTICLES et la clé de la table DOCUMENTS, puis créer mon champ. mais ça n'a pas marché, il m'affiche
Table introuvable
tmp_Link_Table:
LOAD DISTINCT "ART_CODE", "DOC_NUMERO", "DOC_STYPE" Resident ARTICLES
Puis cette deuxième erreur :
Table introuvable
Concatenate (tmp_Link_Table)
LOAD
IF(ART_CATEG,
if(DOC_STYPE = 'F', 'Produits Finis',
if(DOC_STYPE = 'S', 'Produits Semi-Finis',
if(DOC_STYPE = 'M', 'Matières 1ères',
if(DOC_STYPE = 'O', 'Main d''oeuvre',
if(DOC_STYPE = 'T', 'Sous-traitance',
if(DOC_STYPE = 'A', 'Autres'
))))))
) as Catégorie
Resident ARTICLES
voici mon code :
ARTICLES:
LOAD "ART_CODE",
"ART_CATEG",
"FAR_CODE",
"SFA_CODE",
"ART_LIB",
"ART_P_PRV",
"FA4_CODE",
"ART_NCOLIS",
"ART_TGAMME",
"PCF_CODE";
SQL SELECT "FAR_CODE",
"ART_CODE",
"ART_CATEG",
"SFA_CODE",
"ART_LIB",
"ART_P_PRV",
"FA4_CODE",
"ART_NCOLIS",
"ART_TGAMME",
"PCF_CODE"
FROM ICP.dbo.ARTICLES;
STORE ARTICLES into
DROP TABLE ARTICLES;
/*ARTICLES:
LOAD "ART_CODE",
"ART_CATEG",
"FA4_CODE",
"FAR_CODE",
"SFA_CODE",
"ART_LIB",
"ART_P_PRV",
"FA4_CODE"
from DATA_ICP.qvd (qvd);*/
LIGNES:
LOAD *;
SQL select * from LIGNES;
DOCUMENTS:
LOAD "DOC_NUMERO",
"DOC_STYPE";
SQL SELECT DOC_NUMERO, DOC_STYPE FROM DOCUMENTS;
tmp_Link_Table:
LOAD DISTINCT "ART_CODE", "DOC_NUMERO", "DOC_STYPE" Resident ARTICLES;
Concatenate (tmp_Link_Table)
LOAD
"DOC_STYPE",
IF(ART_CATEG,
if(DOC_STYPE = 'F', 'Produits Finis',
if(DOC_STYPE = 'S', 'Produits Semi-Finis',
if(DOC_STYPE = 'M', 'Matières 1ères',
if(DOC_STYPE = 'O', 'Main d''oeuvre',
if(DOC_STYPE = 'T', 'Sous-traitance',
if(DOC_STYPE = 'A', 'Autres'
))))))
) as Catégorie
Resident ARTICLES;
Je vous remercie par avance !
La table tmp_Link_Table ne peut pas se créer car la table ARTICLES n'existe plus : au début du script la table ARTICLES est générée grâce au fichier QVD mais ensuite elle est supprimée : DROP TABLE ARTICLES.
Par contre, je penses que tu as oublié la 3e partie de ton 1er IF dans le dernier LOAD. Tu n'indiques pas ce qu'il se passe lorsque ART_CATEG est égale à l'un des résultats des IF suivants.