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 :

Sélection de plusieurs valeurs dans une dimension


Sujet :

QlikView

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut Sélection de plusieurs valeurs dans une dimension
    Bonjour à tous,

    Ca a l'air très simple mais j'arrive pas à trouver. Je veux enlever plusieurs valeurs d'une dimension que j'utilise dans un tableau.

    Avec une valeur ça marche, Exemple si je veux exclure le magasin A de la dimension Magasin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =if(Magasin<>'A',Magasin)
    Mais si je veux exclure les magasins A, B et C j'ai essayé le Or et d'autres syntaxes mais sans succès

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    PM IT BI
    Inscrit en
    Juillet 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : PM IT BI
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Test cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {<Magasin -= {"A","B","C"}>} Magasin

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut
    Là tu utilises un Set Analysis, donc on est dans une expression du tableau. Moi je veux agir sur la dimension (dimension calculée) car mes expressions sont déjà des Set Analysis assez lourds.

    En plus je comprends pas ta syntaxe, le deuxième magasin après l'accolade doit être remplacé par le champs type numerique (Montant ventes,...) et précédé par une fonction d'aggrégation (sum,min,max...)

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut
    J'arrive à rajouter une dimension (mais ça pourrait aussi être une expression) dans laquelle je flag les magasins à enlever avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =If(MAGASIN='A',1,if(MAGASIN='B',1,if(MAGASIN='C',1,0)))
    Je cherche desperement à filter à partir du flag en conservant les magasin à 0. De plus, si je mets cette formule dans une variable ca marche pas et met 0 partout alors que la formule 'brute' me retourne bien 1 pour les 3 magasins.

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut
    C'est bon j'y suis enfin arrivé avec comme dimension calculée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =If(If(MAGASIN='A',1,if(MAGASIN='B',1,if(MAGASIN='C',1)))<>1,MAGASIN)

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    Tu peux y arriver avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(MAGASIN='A' or MAGASIN='B' or MAGASIN='C',Null,MAGASIN)
    Sans oublier de cocher "Supprimer les valeurs nulles"

    A noter que l'expression que tu mets dans ta dimension est case sensitive.
    L'expression suivante n'éliminera que le magasin A :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(MAGASIN='A' or Magasin='B' or magasin='C',Null,MAGASIN)

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut
    Le code que vous mettez est le premier que j'ai essayé et ne marche pas.
    Quand je fais avec le NULL, l'éditeur me dit "Nom de champ(s) incorrect(s) : NULL".

    Avec un '' à la place du NULL, le nom du magasin est bien vide mais la ligne ne part pas quand on coche "Supprimer si la valeur est nulle".

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    Essaie quand même : l'éditeur dit "Nom de champ(s) incorrect(s) : NULL" mais ça fonctionne !

  9. #9
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut
    Exact!! J'ai perdu du temps parce que ça mettait pas Expression OK, alors que celle-ci fonctionnait. Et puis les noms de champs n'apparait pas en bordeau et le Null en bleu, couleurs habituelles quand QV juge la formule correcte.

    Bug de QV sur ce coup là!

  10. #10
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 531
    Points
    2 531
    Billets dans le blog
    6
    Par défaut
    Ce n'est pas mais qu'il faut mettre.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Je relance ce post car je n'arrive pas à obtenir le filtrage des dimensions:
    Mon graphe a:
    - pour dimension Date, Capteur
    - pour expression Niveau
    Je souhaite afficher les courbes de tous les capteurs sauf ceux commençant par "NE"

    Dans l'onglet dimension j'ai coché 'activer la condition' et mis l'une ou l'autre des conditions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    =if(left(Capteur,2)<>'NE',Capteur,null())
    =if(Capteur<>'NE*',Capteur,null())
    et coché 'supprimé si la valeur est nulle', mais les courbes NE sont toujours là...

    Merci pour vos avis

  12. #12
    Modérateur

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

    Beau déterrage de topic


    Supposons que vous ayez les données suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    LOAD * INLINE [
    Capteur, Niveau
    NE_1, 1
    NE_2, 2
    NE_3, 3
    PLOP_1, 4
    PLOP_2, 5
    ];
    Si vous voulez faire "sum(Niveau)" pour les "Capteur" qui commencent par "NE", vous avez 2 solutions :
    1. On filtre directement sur la dimension.
    Au lieu de mettre "Capteur" comme dimension, vous mettez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =if(wildmatch(Capteur, 'NE*'), Capteur)
    Ce n'est pas dans "Activer la condition". Cette option permet d'afficher ou non une colonne, pas d'afficher ou non des valeurs.
    Comme expression, on garde
    2. On filtre sur l'expression en lui changeant son périmètre.
    On utilise "Capteur" comme dimension et

    2A. On fait un filtre "IF" bourrin ligne à ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum(if(WildMatch(Capteur, 'NE*'), Niveau))
    ou

    2B. On applique un Set Analysis pour pré-filtrer les capteurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <Capteur={"NE*"}>} Niveau)
    (beaucoup plus efficace en cas de grosse volumétrie)

    Attention, si vous êtes en QV12.2+, il faut bien utiliser des double-quotes et non pas des simple-quotes dans le Set Analysis, car la chaîne ne sera pas interprétée de la même façon.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Merci PhunkyBob, cela fonctionne bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 13/08/2008, 13h10
  2. Réponses: 5
    Dernier message: 04/06/2008, 11h03
  3. recuperer plusieurs valeurs dans une cellule
    Par Mimosa777 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2008, 22h40
  4. plusieurs valeurs dans une seul select
    Par sonja dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/06/2007, 17h30
  5. Réponses: 10
    Dernier message: 03/07/2006, 15h55

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