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

Webi Discussion :

Calcul sur année glissante


Sujet :

Webi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Calcul sur année glissante
    Bonjour,

    j'ai une date au format AAAA/MM.
    J'ai besoin de faire une moyenne sur les 12 mois précédents le mois choisi.
    Dans mon tableau j'ai une colonne "mois" et une autre "moyenne"
    si j'ai comme mois: 2012/09, la moyenne sera sur les 12 mois précédents (de 2011/10 à 2012/09), pour 2012/08 ce sera de 2011/09 à 2012/08, etccc

    je trouve des solutions pour une date au format JJ/MM/AAAA mais pas AAAA/MM

    Qqn peut-il m'aider svp?

    Merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    J'ai trouvé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(Année(EnDate(("01/"+SousChaîne([Année Mois];6;2)+"/"+SousChaîne([Année Mois];1;4));"dd/MM/yyyy")))-1+"/"+FormatDeNombre(((((EnNombre(NuméroDuMoisDeAnnée(EnDate(("01/"+SousChaîne([Année Mois];6;2)+"/"+SousChaîne([Année Mois];1;4));"dd/MM/yyyy")))))+2)-1);"00")

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    j'ai un pbm
    je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Moyenne]([Année mois] Entre ([Année glissante];[Année mois]))
    il m'indique #TOREFRESH et même si j'actualise, l'erreur ne part pas

    Une idée??

    Merci

  4. #4
    Membre expérimenté Avatar de djam21
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2006
    Messages
    843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2006
    Messages : 843
    Points : 1 307
    Points
    1 307
    Par défaut
    Hello,

    Dans ta formule tu indiques :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ([Année mois] Entre ([Année glissante];[Année mois]))
    Tu fais une condition sur Année/Mois en utilisant Année/Mois... Ca pourra difficilement fonctionner ainsi...

    Comment récupères-tu l' Année/Mois de référence ? Par une invite ?

    A+

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Salut

    année mois est un objet récupéré de la base tel quel.

    Pourquoi je ne peux pas faire de condition avec cet objet?

  6. #6
    Membre expérimenté Avatar de djam21
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2006
    Messages
    843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2006
    Messages : 843
    Points : 1 307
    Points
    1 307
    Par défaut
    Hello,

    Oui je comprends bien cela...

    Tu fais un calcul sur 12 mois à partir d'une date : OK.
    Mais comment trouves-tu cette date si pas d'invite ?

    Pour ta formule, tu balayes toutes les valeurs d'un objet en utilisant cet objet en condition...

    Année : 2010-2011-2012
    Formule pour 2010 : Si Année entre 2009 et Année Alors XXX

    Sauf qu'Année a plusieurs valeurs, donc çà ne fonctionnera pas...
    Un Entre se fait entre deux valeurs fixes...

    A+

  7. #7
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    en fait j'ai une colonne année/mois et une autre colonne moyenne
    dans année/mois j'ai 2012/09; 2012/08; ... donc pas d'invite, il me faut toutes les années et mois dans mon tableau
    et la moyenne sur les 12 mois précédents l'année mois correspondant

    donc le pbm est le "entre", je pensais qu'il pouvait calculer la valeur année-1 correspondant à chaque année/mois.

    Comment je peux calculer ça sans le "entre" stp?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    Regarde la doc de la fonction ValeurRelative(), cela pourrait peut-être être une solution.

    Cordialement

  9. #9
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2012
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonjour

    je ne connaissais pas cette fonction, merci.

    Mais n'ayant pas une date ou une année mais un format AAAA/MM, comment dire que je souhaite faire mon calcul par rapport à l'année précédente et mois suivant donc AAAA-1/MM+1.

    Cette fonction ne permet-elle pas uniquement d'avoir la valeur à la date voulue? Moi je dois faire une moyenne des 12 mois et non pas la moyenne entre la valeur à l'année AAAA et l'année AAAA-1.

  10. #10
    Membre expérimenté Avatar de djam21
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2006
    Messages
    843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2006
    Messages : 843
    Points : 1 307
    Points
    1 307
    Par défaut
    Hello,

    As-tu essayé avec [Année-Mois] Dans Ligne tout simplement pour la borne superieure de ton Entre() ?

    J'ai déjà fait ce genre de chose mais à l'époque j'avais fait çà dans l'univers...
    Mon indicateur arrivait déjà calculé...

    A+

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Que ce soit ValeurRelative() (plus puissant) ou Précédent() (plus simple à appréhender), Rien ne t'empêche de saisir 12 fois la variable dans une formule et de diviser le résultat par 12.

    Exemple pour un trimestre avec Précédent() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =([CA]+ Précédent([CA])+Précédent([CA];2))/3
    Cela fait une moyenne mobile trimestrielle.

    J'ai la flemme de le faire sur 12 mois mais cela devrait pouvoir se transposer assez facilement.

    En XI3, on peut choisir de combien de lignes on veut que Précédent se décale vers le haut. Le problème survient lorsqu'il y a un trou dans la série (pas de ventes de sapins de Noël en Août par exemple). Dans ce cas la moyenne mobile ne tient plus.

    ValeurRelative() permet de s'affranchir de cela par le jeu des dimensions de découpage/décalage mais il faut lire la doc à fond et expérimenter. Je n'ai pas tous les tenants et aboutissants en tête.

    Cela dit, si tu es certain qu'il n'y aura pas de trou dans tes périodes, utilise Précédent(), c'est le plus simple pour faire une moyenne mobile.

    Cordialement,

Discussions similaires

  1. [DATA] Calcul sur fenêtres glissantes
    Par bol45 dans le forum SAS Base
    Réponses: 2
    Dernier message: 18/02/2015, 16h11
  2. [AC-2003] Calculer des cumuls de véhicules couverts sur 5 années glissantes
    Par bambi12047 dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 19/02/2013, 10h55
  3. [AC-2007] Optimisation calcul sur periode glissante
    Par LouisT dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/02/2013, 18h08
  4. [DATA] recodage de variable et calculs sur années adjacentes
    Par antis dans le forum SAS Base
    Réponses: 4
    Dernier message: 19/08/2009, 16h30
  5. [AC-2007] Calcul sur plages glissantes
    Par mtitaud dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 19/06/2009, 14h54

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