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

Créer fichier .QVD

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.

1 Solution

Accepted Solutions
Not applicable
Author

ajoute juste le type de fichier dans ton load ...(qvd);

LOAD * from (qvd);

ca devrait le faire

View solution in original post

12 Replies
Not applicable
Author

Bonjour Philippe

1.  Il faut encadrer le chemin avec des []  ou " "

STORE Reservation into  ;

2. pour les recharger, 

LOAD * from ;   tout simplement

cordialement

Christian

Not applicable
Author

J'ai toujours le mème message d'erreur

Not applicable
Author

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

Not applicable
Author

ajoute juste le type de fichier dans ton load ...(qvd);

LOAD * from (qvd);

ca devrait le faire

Not applicable
Author

Oui maintenant ça marche trés bien merci beaucoup.

Not applicable
Author

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,

stephane_dmVH
Contributor
Contributor

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.

Not applicable
Author

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 !

stephane_dmVH
Contributor
Contributor

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.