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 :

Afichage enregistrements non concordants


Sujet :

QlikView

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 6
    Points
    6
    Par défaut Afichage enregistrements non concordants
    Bonjour,

    J'ai un fichier relié à une table de paramétrage par une clé.

    Je voudrais afficher les enregistrements de mon fichier mais seulement ceux qui n'existe pas dans la table de paramétrage.
    (Le but étant de me constituer une liste des postes manquants dans ma table de paramétrage en vue d'une mise à jour de cette table)

    Faut-il utiliser un objet de type table ou un graphique ?
    Je pensais utiliser l'exclusion du Set analisys mais je ne vois pas ou et de quelle manière positionner mon instruction.

    Quelqu'un peut-il m'aider ?

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 132
    Points : 182
    Points
    182
    Par défaut
    Bonjour,

    Tu peux réaliser cela directement dans le script en ajoutant une colonne dans ton fichier :

    Tu charge ta table de paramétrage,
    tu charge ton fichier et tu rajoute une colonne de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(not Exists(Val_TPARAM,Val_TFICHIER),ValTFICHIER,Null()) as POSTES_MANQUANTS
    Ou tu change ValTPARAM par le champ de ta table de paramètre
    Val_TFICHIER par le champ de ton fichier

    Ensuite un simple filtre sur POSTES_MANQUANTS t'affiche les postes présent dans ton fichier mais pas dans ta table de paramètre.

    Script Exemple (fait un objet graphique de type filtre et tu prends le champ val3):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    T1:
    load RowNo() as id, ceil(rand()*10) as val1
    	 AutoGenerate(20);
     
    T2:
    load RowNo() as id, ceil(rand()*30) as val2
    	 AutoGenerate(30);
     
    T3:
    NoConcatenate	 
    load *, if(not Exists(val1,val2),val2,Null()) as val3
        Resident T2;
     
    DROP Table T2;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Points : 120
    Points
    120
    Par défaut
    Bonjour,

    je trouve ce post très intéressant, je suis également à la recherche d'un script du même genre, en fait, j'ai deux tables avec un identifiant les reliant, et ce que je cherche à faire c'est de pouvoir identifier dans chacune des tables les identifiants qui ne matchent pas en eux.

    Actuellement, j'ai une formule d'exclusion qui me prend beaucoup de ressources lorsque j'applique des filtres sur mes tableaux et graphiques.

    Merci pour votre aide

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 132
    Points : 182
    Points
    182
    Par défaut
    Pour ton problème meumeu, si j'ai bien compris cet exemple devrait t'aider :
    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
    T1_TEMP:
    LOAD ceil(rand()*30) as id1, ceil(rand()*10) AS val1
    	 AutoGenerate(40);
     
    T2_TEMP:
    LOAD ceil(rand()*30) as id2, ceil(rand()*30) AS val2
    	 AutoGenerate(40);
     
    T1:
    NoConcatenate
    load id1 as id, val1, if(Exists(id2,id1),'OK','KO') as ID_IN_T2
    	Resident T1_TEMP;
     
    T2:
    NoConcatenate
    load id2 as id, val2, if(Exists(id1,id2),'OK','KO') as ID_IN_T1
    	Resident T2_TEMP;
     
    DROP Tables T1_TEMP,T2_TEMP;
    Après lors de l'utilisation de set analysis tu utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =sum({ <ID_IN_T1={'OK'}>} val2)
    Tu peux aussi rajouter un filtre : ID_IN_T1 qui te permet de filtrer sur les id de T2 présent dans T1
    et/ou ID_IN_T2 qui te permet de filtrer sur les id de T1 présent dans T2

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Points : 120
    Points
    120
    Par défaut
    Parfait merci beaucoup, je laisse le soin à didi62 de mettre "résolu" si la réponse convient.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Points : 120
    Points
    120
    Par défaut
    Bonjour,

    j'aurai une autre requête qui est sur ce procédé, en fait, j'ai une table (T1)avec des IDs, noms,.... et une autre table (T2) avec des IDs et d'autre infos.

    je sais que par défaut ma T1 est complète, et que ma T2 est incomplète, ce que je voudrai, c'est alimenté l'ID manquant dans la T2, même, si il faut que le reste des informations ne sont pas remplies.

    par avance merci pour votre aide.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Points : 120
    Points
    120
    Par défaut
    J'ai réussi à l'adapter.

    1. j'ai rechercher les inexistants en indiquant 0 pour quelques lignes, en créant une table temporaire
    2. j'ai chargé mes données existantes et fait une concaténation entre les deux tables
    3. j'ai donc les existants avec des chiffres et les inexistants avec 0.

Discussions similaires

  1. [Débutant] Enregistrement non souhaité.
    Par Monsieur Peck dans le forum Access
    Réponses: 1
    Dernier message: 11/06/2006, 14h40
  2. Réponses: 4
    Dernier message: 08/06/2006, 23h04
  3. Requête suppression sur non concordance
    Par curt dans le forum Access
    Réponses: 4
    Dernier message: 30/05/2006, 19h32
  4. problemme avec requete de non concordance
    Par el_quincho dans le forum Access
    Réponses: 1
    Dernier message: 17/03/2006, 16h37
  5. Builder/Interb :"Non Concordance dans les paquets de do
    Par pjtuloup dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/03/2005, 09h53

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