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 :

Afficher les données même si elles ne font pas partie de la sélection


Sujet :

QlikView

  1. #1
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut Afficher les données même si elles ne font pas partie de la sélection
    Bonjour,

    Je travaille sur un document QlikView dont le but original était d'analyser des ventes par dépôt.

    J'ai donc deux entités :
    - Pièce de vente
    - Dépôt

    N'ayant pas d'analyse sur les produits eux-mêmes, je n'ai pas d'entité "produit", je me contente de quelques colonnes dans l'entité "pièce de vente" pour faire mes filtres.

    Mais voilà que la demande évolue, et que maintenant on veut analyser la valorisation des stocks par rapport aux ventes.

    J'ai donc rajouté des colonnes à "pièce de vente" pour avoir la quantité en stock, le prix d'achat moyen, le prix de vente unitaire, etc.

    Tout va bien, au détail près que si je sélectionne la période "2018" (donc les pièces de vente de l'année 2018) je n'ai des lignes dans mon tableau que pour les produits qui ont été effectivement vendus sur 2018.

    Le but de l'analyse, c'est justement l'inverse : on veut voir les produits qui n'ont pas ou peu été vendus sur la période et qui on un stock important, pour savoir quelles décisions prendre (baisser le prix de vente, arrêter le produit, renégocier le prix d'achat, etc.)

    Outre les entités "produit" et "stock" manquantes, que je me tâte à créer, comment afficher "tous les articles qui ont du stock", avec en revanche dans les colonnes CA/Vente que les données sur la période sélectionnée ?
    On ne jouit bien que de ce qu’on partage.

  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,

    Si vous pouviez donner un modèle simplifié de vos données et décrire le résultat attendu, cela pourrait probablement nous aider à vous aider.


    Dans un cas général, vous pouvez utiliser la fonction "E()" qui vous permet d'exclure des valeurs de votre sélection.

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    J'ai une seule entité qui nous intéresse ici : "Document"

    Elle contient notamment les colonnes suivantes :

    - Numéro Facture
    - Code produit
    - Stock Dispo
    - TotalLigne
    - Année

    J'ai un tableau qui a pour dimension "Code produit" et en donnée "sum(TotalLigne)" et "avg(Stock Dispo)" (le stock est identique sur chaque ligne d'un même produit, il me manque une entité "produit" pour être "propre")

    Seul hic, si je fais une sélection sur "Année = 2018" alors tous les codes produits non vendus en 2018 sont filtrées.
    Hors, mon besoin est le suivant :
    - Afficher toutes les lignes des produits vendus sur la période sélectionnée
    - PLUS tous les produits ayant un stock dispo > 0 même s'ils n'ont pas été vendus sur la période

    En revanche, je ne veux pas les produits sans stock et sans vente sur la période... (histoire de faire simple)
    On ne jouit bien que de ce qu’on partage.

  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
    Si un produit n'a pas été vendu en 2018, mais qu'il est en stock, concrètement il y a quoi dans vos données ?

  5. #5
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    J'ai des lignes de produit pour chacune des ventes aux autres dates (en 2017, 2016, etc.)

    L'information de stock est présente sur chacune des lignes, avec la donnée à jour : sur la ligne correspondant à une facture de 2016, j'ai le stock disponible de ce jour.

    Donc quand je demande à afficher le chiffre d'affaire de 2018, il faut que dans la liste des produits, j'aie un "distinct" sur "code produit / disponible" de TOUTES les lignes de document, pour lesquelles "disponible > 0" et dans la colonne "montantligne", uniquement la somme des lignes correspondant à l'année 2018.
    On ne jouit bien que de ce qu’on partage.

  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
    Supposons que vous ayez ces données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    data:
    LOAD * INLINE [
    Facture, CodeProduit, Stock, TotalLigne, Année
    1, A, 11, 100, 2017
    2, B, 22, 100, 2017
    3, C, 33, 100, 2017
    4, A, 44, 100, 2018
    5, D, 55, 100, 2018
    ];
    Dans votre tableau, vous mettez les expressions
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (avg({$ <Année=>} Stock) > 0,
    avg({$ <Année=>} Stock)
    )
    Le "{$ <Année=>}" est un Set Analysis pour dire "prend la sélection courante et fais comme s'il n'y avait pas de sélection sur le champ Année".

  7. #7
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Merci pour votre réponse.

    Ce que j'ai testé n'a pas l'air de bien marcher...

    Je ne suis pas bien familier des expressions entre accolades. J'ai déjà un filtre sur les données :

    avg({<Société = {'CREA'}>}[Stock dispo])

    En effet, une facture est émise depuis une entité, et c'est le stock de cette entité que je veux afficher.

    Du coup j'ai mis ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    avg({$<Année=>}{<Société = {'CREA'}>}[Stock dispo])
    Mais je n'ai pas l'impression que cela change quoi que ce soit à la liste (quand je change d'année, la liste de produit change)

    J'ai essayé ça aussi, mais je n'ai pas l'impression que ça change grand chose...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    avg({{$<Année=>}<Société = {'CREA'}>}[Stock dispo])
    Accessoirement, je peux filtrer la date par :
    - année
    - mois
    - trimestre
    - semaine
    - date

    Il faut que je fasse ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    avg({$<Année =>}{$<Mois =>}{$<Semaine =>}{$<Trimestre =>}{$<Date =>}[Stock dispo])
    On ne jouit bien que de ce qu’on partage.

  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
    Pour modifier plusieurs valeurs, c'est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    avg({$ <Année=, Société={'CREA'}>} [Stock dispo])

  9. #9
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Ok, mais le $ correspond à quoi ?

    Car autant pour "année", je dois prendre toutes les valeurs indépendamment de la sélection, autant pour "stock", je dois prendre uniquement les valeurs qui correspondent ) "CREA" (j'ai une colonne par dépôt).
    On ne jouit bien que de ce qu’on partage.

  10. #10
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Bon, je viens de tester, ça se semble fonctionner exactement comme désiré.

    Merci !
    On ne jouit bien que de ce qu’on partage.

  11. #11
    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
    Le "$" signifie "on part de la sélection actuelle et on la modifie".
    On peut aussi mettre "1" qui signifie "on part de aucune sélection" ou encore l'identifiant d'un bookmark qui signifie "on part de la sélection du bookmark".

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/03/2015, 14h20
  2. Réponses: 2
    Dernier message: 15/09/2014, 12h27
  3. [XL-2010] Afficher les données sur un graphique tant qu'elle monte !
    Par Marleclerc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/08/2014, 19h51
  4. Réponses: 0
    Dernier message: 14/06/2011, 10h08
  5. [MySQL] Une liste déroulante affichant les données d'une requête SHOW par ordre alphabétique
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/12/2005, 15h53

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