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 :

Affichage suivant critère


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 Affichage suivant critère
    Bonjour à tous,

    J'ai un tableau dans lequel je cherche à afficher uniquement les lignes remplissant un certain critère. C'est un flag qui n'est ni un champs, ni une variable mais une formule utilisant un Set Analysis prenant en compte des variables issues d'un objet de type curseur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    =if(sum({$<MOIS= { "<= $(=num(MOIS))"} ,ANNEE={"$(=ANNEE)"}>} DUREE)>=V_Min_user,
     
    if(sum({$<MOIS= { "<= $(=num(MOIS))"} ,TEMPS_ANNEE={"$(=ANNEE)"}>} DUREE)<=V_Max_user,1,''))
    En clair je cherche à afficher toutes les personnes ayant un nb de jours (DUREE) compris dans les bornes définies par l'utilisateur.

    Dans l'onglet présentation, lorsque "Supprimer valeurs manquantes" et "supprimer valeur nulles" sont cochées cela n'a pas d'effet. J'ai essayé avec 0 si les critères n'étaient pas remplis et aussi avec '', mais sans succès.
    Sachant que la bonne solution est certainement de le prendre en compte dans le Set Analysis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (DUREE={" >=(=V_Min_User)) "}
    mais ca ne marche pas.

    Avez vous une idée de comment faire?

  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
    Est-ce que votre expression fonctionne (c'est à dire qu'elle affiche "1" quand il faut et "0" sinon) ?
    Est-ce que vous avez d'autres expressions dans votre tableau ?
    Est-ce que dans votre graphique, vous utilisez comme dimension des dimensions qui sont utilisées dans le Set Analysis ?

  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
    Bonjour PhunkyBob ,

    1. Oui, mon expression fonctionne.
    2. Oui, j'ai une autre expression , basée sur le champs durée.
    3. Non, dans le tableau je n'ai pas de dimension qui serait utilisée dans le Set Analysis.

  4. #4
    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
    > 2. Oui, j'ai une autre expression , basée sur le champs durée.

    Est-ce que dans cette expression, vous avez aussi mis la condition ?

    Car pour qu'une ligne ne soit pas affichée, il faut qu'il n'y ait aucune valeur dans toutes les expressions de la ligne.

  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
    Merci pour votre réponse. Effectivement ça marche en intégrant la condition dans l'expression en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    =if(sum({$<MOIS= { "<= $(=num(MOIS))"} ,ANNEE={"$(=ANNEE)"}>} DUREE)>=V_Min_user and 
     
    sum({$<MOIS= { "<= $(=num(MOIS))"} ,TEMPS_ANNEE={"$(=ANNEE)"}>} DUREE)<=V_Max_user,EXPRESSION SET ANALYSIS,0))
    Mais j'aurais aimé intégrer directement ces conditions dans le SA de mon expression.
    La question en fait est peut t'on mettre une restriction dans un SA non pas sur une dimension mais sur le champs (quantitatif) sur lequel porte la fonction agrégat du SA??

  6. #6
    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
    Citation Envoyé par ruru9 Voir le message
    La question en fait est peut t'on mettre une restriction dans un SA non pas sur une dimension mais sur le champs (quantitatif) sur lequel porte la fonction agrégat du SA??
    Votre exemple est un peu complexe quand on ne connaît pas le contexte, mais si j'ai bien compris, la réponse est "oui".


    Supposons qu'on ait les données suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    LOAD * INLINE [
    Country, ValueTest, Value2
    France, 1, 100
    France, 1, 100
    USA, 2, 200
    UK, 3, 300
    Corée, -1, 400
    Pakistan, 1, 10
    Pakistan, -10, 20
    ];

    On fait un tableau avec comme dimension "Country" et comme expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <Country={'=sum(ValueTest) >= 0'}>} Value2)
    Cela affichera les sommes de "Valeur2" pour tous les Country qui répondent à la condition "sum(ValueTest) >= 0".


    C'est l'équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(sum(ValueTest) >= 0, sum(Value2))

  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
    En fait ce serait de faire pour un pays donné la somme de Value 2 pour les enregistrements ayant une valeur de Value 2 supérieure à un seuil.

    Dans votre exemple, le SA fait une somme de Value 2 en fonction d'un critère sur ValueTest. Ce à quoi je pensais est une somme de Value 2 en fonction d'un critère sur Value2.

  8. #8
    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
    Je ne vois pas où est le problème...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <Country={'=sum(Value2) >= 0'}>} Value2)
    ou même

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <Country={'=sum(Value2) >= $(vSeuil)'}>} Value2)
    où vSeuil est une variable.

  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
    Dans mon esprit un SA sur une dimension ne peut contenir qu'une valeur de cette dimension. Soit pour country le nom du pays ou le nom d'une variable contenant le pays. Donc la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <Country={'=sum(Value2) >= $(vSeuil)'}>} Value2)
    m'a surpris mais j'aurais appris quelque chose.

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

Discussions similaires

  1. [XL-2003] [Débutant]Affichage ComboList suivant critères
    Par magnum812 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/07/2011, 14h36
  2. [AC-2003] Affichage suivant critère en VBA
    Par ortiz dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/03/2011, 17h39
  3. affichage liste de personnel suivant critère
    Par splog dans le forum Excel
    Réponses: 6
    Dernier message: 21/08/2008, 17h55
  4. [HTML][CSS] Problèmes affichage suivant navigateur
    Par chillansky dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 14/04/2006, 17h49
  5. [Etat] nombre de valeurs suivant critère
    Par bigounet dans le forum IHM
    Réponses: 4
    Dernier message: 01/03/2006, 11h47

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