IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

QlikView Discussion :

chargement données et creation qvd


Sujet :

QlikView

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 226
    Points : 78
    Points
    78
    Par défaut chargement données et creation qvd
    Bonjour,

    je charge des fichiers excel depuis un répertoire et je créée mon qvd sans difficultés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    bb:
    LOAD *
    FROM [C:\Users\Desktop\*.xlsx] (ooxml, embedded labels);
    store * from bb into C:\Users\Desktop\his.qvd;

    Toutefois je chercher un moyen de limiter les chargements aux nouveaux fichiers deposés et ajout des données à mon fichier qvd des nouveaux éléments.

    Avez vous une idée?

  2. #2
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il y a plusieurs façons de faire.
    Voici les 3 premières qui me viennent à l'esprit :

    Solution 1
    - Au lieu de charger tous les fichiers d'un coup, on fait une boucle pour charger chaque fichier Excel du répertoire à tour de rôle.
    - Chaque fichier Excel sera chargé dans une table "bb".
    - La table "bb" sera enregistrée (store) dans un fichier QVD qui portera le même nom que le fichier Excel de l'itération.
    - La table "bb" est supprimée.
    - Le fichier Excel est déplacé dans un autre répertoire (pour ne pas être pris en compte lors du prochain rechargement.
    Ainsi, on a le contenu de chaque fichier Excel dans un QVD, ce qui permet facilement de corriger le contenu d'1 seul fichier.


    Solution 2
    - On charge le fichier QVD existant dans une table "bb".
    - On y concatène le contenu de tous les fichiers Excel.
    - On store la table "bb" dans le fichier QVD (qui sera ainsi écrasé).
    - On déplace / supprime les fichiers Excel.


    Solution 3
    - On sait que chaque fichier Excel ne contient que des données qui lui sont propres, identifiées par un champ précis (par exemple une date).
    - On charge dans la table "bb" le fichier QVD, avec un champ "date".
    - On se fait un table qui contient la liste des dates distinctes "DistinctDate" (resident bb).
    - On concatène à la table "bb" le chargement de tous les fichiers Excel, avec la condition "WHERE NOT EXISTS(date, DistinctDate)", ce qui fera que toutes les lignes pour lesquelles on avait déjà l'information (identifiée par la date) ne seront pas chargées.
    - On store la table "bb" dans le fichier QVD (qui sera ainsi écrasé).
    L'avantage de cette solution, c'est que pour faire une reprise "from scratch", il suffit de supprimer le fichier QVD.
    L'inconvénient de cette solution, c'est que tous les fichiers Excel sont quand même lus, même si au final leurs données ne sont pas exploitées.

Discussions similaires

  1. [Débutant] Structure Datagridview déformée après chargement données
    Par IL-MAFIOSO dans le forum VB.NET
    Réponses: 20
    Dernier message: 25/02/2013, 18h26
  2. Script de chargement données cumulées
    Par meumeu73.1 dans le forum QlikView
    Réponses: 4
    Dernier message: 14/10/2011, 14h16
  3. Evenement chargement données
    Par Fishes83 dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/12/2008, 08h29
  4. problème chargement données formulaire
    Par kumo dans le forum IHM
    Réponses: 2
    Dernier message: 24/05/2007, 22h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo