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 :

Rechargement de données en mode annule et remplace sur un mois


Sujet :

QlikView

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 36
    Points : 27
    Points
    27
    Par défaut Rechargement de données en mode annule et remplace sur un mois
    Bonjour à tous!

    Je charge tous les mois un fichier contenant le stock de clients du mois en cours.
    Pour le chargement incrémental d'un nouveau mois, pas de problème

    En revanche je n'arrive pas à recharger un (ou plusieurs) mois en 'annule et remplace'

    Exemple :
    J'ai chargé les fichiers de 01/2014 à 06/2014.
    Je souhaite recharger uniquement les fichiers de 02/2014 et 04/2014 (en un seul chargement, les deux fichiers étant déposé dans le meme répertoire)

    Je charge les fichiers 02/2014 et 04/2014 dans une table CLIENT.
    Puis je souhaiterais récuperer de mon QVD CLIENT uniquement les lignes dont le mois n'est pas dans la table CLIENT.
    Et enfin concatener le tout pour envoyer dans QVD CLIENT.

    Le NOT EXIST ne fonctionne que la première ligne, les lignes suivantes ne sont pas chargées car la date est alors présente dans CLIENT.

    Merci pour votre aide.

  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
    Vous devez avoir quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Table:
    LOAD
    *,
    date
    FROM nouveaux_fichiers;
     
     
    CONCATENATE (Table)
    LOAD
    *,
    date
    FROM anciens_fichiers
    WHERE NO EXISTS (date);
    ce qui ne marche pas car la valeur se retrouve en "exists" dès la première ligne.


    Il suffit de passer par une table intermédiaire.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Table:
    LOAD
    *,
    date
    FROM nouveaux_fichiers;
     
    Deja_TMP:
    LOAD 
    DISTINCT date AS deja_date
    RESIDENT Table;
     
    CONCATENATE (Table)
    LOAD
    *,
    date
    FROM anciens_fichiers
    WHERE NO EXISTS (deja_date, date);
     
    DROP TABLE Deja_TMP;
    Ainsi, quand on charge la première ligne, le contenu de "deja_date" ne change pas.

Discussions similaires

  1. Base de données en mode mémoire
    Par Lebas dans le forum JDBC
    Réponses: 5
    Dernier message: 08/02/2007, 13h26
  2. Réponses: 3
    Dernier message: 30/07/2006, 14h49
  3. Réponses: 4
    Dernier message: 13/06/2006, 13h45
  4. Saisie de données en mode graphique??
    Par matix83 dans le forum C
    Réponses: 5
    Dernier message: 15/04/2006, 10h09
  5. Annule et remplace le message precedent
    Par Deepc dans le forum Linux
    Réponses: 3
    Dernier message: 10/04/2006, 17h08

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