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 :

Expression : évolution du CA par mois


Sujet :

QlikView

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Expression : évolution du CA par mois
    Bonjour,

    J'extrais des états de mon SI pour connaitre le montant de mes différentes affaires à une date donnée.
    Je voudrais connaitre les évolutions de ces montant sur un mois voulu.

    De manière schématique :

    J'ai :
    affaires/mois/montant
    a /mai /1000
    b /mai /500
    a /juin /1100
    b /juin /500

    (avec affaires dimensions)

    Je voudrais:
    affaires/enregistrements sur juin
    a /100
    b /0

    Je débute sur QV et ne parvient pas à trouver la syntaxe de l'expression. . J'ai tenté les fonction "IF" mais je n'aboutis pas au résultat attendu.
    Merci d'avance pour votre aide précieuse.

  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,

    Le problème est que vous avez des données cumulées pour chaque moi.

    Pour connaître le chiffre de juin, vous devez faire "chiffre de juin - chiffre de mai".

    De manière schématique, ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum(if(mois = "juin", montant)) - sum(if(mois = "mai", montant))
    Sauf qu'en réalité, vous ne voulez pas (je pense) "juin - mai", mais "le mois courant - le mois précédent".
    Il faudra donc rendre la formule dynamique. Mais ça dépend de votre schéma de données.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Vous avez tout à fait cerner mon problème.
    Je ne saisi pas pleinement ce que vous entendez par schéma de données mais ma base de données est aussi simple que l'exemple soumis (à ceci près qu'elle comporte 20000 lignes).
    Une fonction avec "last" mois pourrait-elle convenir?

  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
    Il y a plein de façons de faire.

    - Vous pouvez, au chargement, mettre un colonne "est mois courant" et une colonne "est mois précédent". Ainsi, votre calcul pourra se faire avec une condition très simple ou un Set Analysis très simple.


    - Vous pouvez aussi mettre quelque chose de dynamique dans votre expression (mais il faut des dates un peu plus "propres") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum(IF(date >= monthstart(today()) and date <= monthend(today()), montant)) - sum(IF(date >= monthstart(addmonths(today(), -1)) and date <= monthend(addmonths(today(), -1)), montant))
    qui prendra en compte les chiffres des dates comprises entre "le début de ce mois et la fin de ce mois" et "le début du mois précédent et la fin du mois précédent".


    - Donner la possibilité à l'utilisateur de choisir son mois de référence.


    - ...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Vous tomber à pic, j'essayais quelque chose d'à peu près similaire à votre deuxième solution.

    Idéalement, dans un soucis de contrôle, j'aurais souhaité donner la possibilité aux utilisateurs de choisir le mois de référence.

    Pourrais-je vous demander de me mettre sur la piste?

  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
    Vous faites une dimension "DimMoisReference" qui contient la liste de tous les mois possibles.

    Vous reprenez la même expression de la solution 2, mais en remplaçant "today()" par "DimMoisReference".

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    J'ai rajouté une dimension "DimMoisReference" à mon graphique. Le problème que je rencontre est de ne pas pouvoir utiliser cette nouvelle dimension dans mes expressions. Je ne doit pas procéder de la bonne manière.

    Je me retrouve à demander if month=month-1 (ce qui est absurde.)

    J'aurais finalement besoin d'un peu d'aide.

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

Discussions similaires

  1. [CR XI] Formule évolution par mois
    Par campia dans le forum Formules
    Réponses: 3
    Dernier message: 11/10/2007, 15h26
  2. Réponses: 5
    Dernier message: 18/10/2005, 09h49
  3. Comment grouper une requête par mois ?
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/06/2005, 12h01
  4. résultat d'une requete affiché par mois
    Par zorely dans le forum Langage SQL
    Réponses: 7
    Dernier message: 03/05/2004, 07h18
  5. Regroupement par mois
    Par fplanglois dans le forum SQL
    Réponses: 7
    Dernier message: 29/07/2003, 16h32

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