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

Designer Discussion :

Variables globales et objets pour moyennes mobiles par mois glissant


Sujet :

Designer

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [RESOLU] Variables globales et objets pour moyennes mobiles par mois glissant
    Bonjour,

    Je ne suis nouveau dans BO XIR2 et j'aimerai créer un univers qui me permette de prendre en entrée juste avant l'exécution d'un rapport basé sur cet univers, une date qui représente la date de calcul du rapport.

    Le problème est que je veux créer cette variable date_calcul dans Designer et pouvoir l'utiliser dans mes conditions et autres formules. Mais je ne sais pas comment créer une "variable globale" dans designer.

    Faut-il passer par un objet dimension? C'est ce que j'ai fais en mettant dans la formule @prompt('Date_calcul?','D','','mono','constraint'). Mais au moment de vérifier l'univers j'ai une erreur pour cet objet.

    J'aimerai ainsi pouvoir créer plusieurs variables globales avec en général une valeur par défaut: par exemple la date d'aujourd'hui par défaut pour la variable Date_calcul, suivi de 'Yesterday' qui prend derrière la date d'hier et la possibilité de choisir une autre date via un petit calendrier proposé.

    Pour la variable SERVICE, par exemple la valeur 'All' par défaut pour tous les services, et la liste des services qui viendrait de la base de donnée : sélection unique.

    Faut-il créer ces variables globales dans designer directement pour limiter les données extraites ou je dois les créer dans INFOVIEW?

    Enfin j'aimerai créer un rapport qui me permette d'avoir ce graphique en PJ.
    Pour chacun des 6 derniers mois, le nombre d'utilisateurs par Service A,B et C
    ainsi que la moyenne mobile du nombre d'utilisateur des 6 derniers mois depuis le mois dans lequel on le calcule.

    Je ne sais pas trop comment m'organiser et quels objets ou indicateurs ou formule ou variables créer et utiliser.

    En précisant que le mois peut être glissant donc pas forcément nov, dec. par exemple si Date_calcul = '19/05/2009' alors les 6 derniers mois seront 19/04/09, 19/03/09, jusqu'à 19/11/2008.


    EN vous remerciant d'avance pour votre aide précieuse,
    Cordialement,
    Images attachées Images attachées  

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Au fait je suis vraiment nouveau dans BO, et j'utilise Designer 11.5.0.0 pour concevoir mon univers, et InfoView pour créer mes rapports.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Salut à tous,

    Juste pour vous dire que j'ai bien réussi à réaliser mon graphique en utilisant des TABLES DERIVEES.

    Astuce: créer une table qui représente les 6 mois glissants en fonction de la date entrée par l'utilisateur

    SELECT T1.rang, T1.debut, T2.fin, T3.period FROM
    (
    select row_number() OVER (Order by D.debut DESC) as rang , D.debut
    FROM
    (
    select DATEADD(mm,-1,@Prompt('Date_observation ?:','D',,MONO,constraint)) as debut
    union
    select DATEADD(mm,-2,@variable('Date_observation ?:')) as debut
    union
    select DATEADD(mm,-3,@variable('Date_observation ?:')) as debut
    union
    select DATEADD(mm,-4,@variable('Date_observation ?:')) as debut
    union
    select DATEADD(mm,-5,@variable('Date_observation ?:')) as debut
    union
    select DATEADD(mm,-6,@variable('Date_observation ?:')) as debut
    )D
    )T1,

    (
    select row_number() OVER (Order by F.fin DESC) as rang, F.fin
    FROM
    (
    select DATEADD(mm,-0,@variable('Date_observation ?:')) as fin
    union
    select DATEADD(mm,-1,@variable('Date_observation ?:')) as fin
    union
    select DATEADD(mm,-2,@variable('Date_observation ?:')) as fin
    union
    select DATEADD(mm,-3,@variable('Date_observation ?:')) as fin
    union
    select DATEADD(mm,-4,@variable('Date_observation ?:')) as fin
    union
    select DATEADD(mm,-5,@variable('Date_observation ?:')) as fin
    )F
    )T2
    ,

    (
    select row_number() OVER (Order by F.period) as rang, F.period
    FROM
    (
    select 'M-1 to M ' as period
    union
    select 'M-2 to M-1' as period
    union
    select 'M-3 to M-2' as period
    union
    select 'M-4 to M-3' as period
    union
    select 'M-5 to M-4' as period
    union
    select 'M-6 to M-5' as period
    )F
    )T3
    WHERE T1.rang = T2.rang
    and T1.rang = T3.rang



    ENSUITE CALCULER avec le même principe chacun de mes indicateur (6 indicateurs par période), relier les tables derivées entre elles, créer les objets correspondant aux résultats et coisir le bon graphique dans Bo XIR2, bien placer les indicateurs et le résultat est tout simplement MAGIQUE......


    Je ne sais pas 'il ya un autre moyen de le faire et je reste ouvert à vos commentaires.

    Cordialement.

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Concernant la variable GLOBALE, inutile il suffit de recupérer une seule fois la réponse de l'utilisateur en utilisant la fonctio @prompt('Entrez la Date ?:','D',,MONO,CONSTRAINT) et par la suite utiliser @variable('la Date ?:') pour désigner ce résultat.

Discussions similaires

  1. [XL-2007] Code VBA pour un tri par mois
    Par tiralarc03 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/01/2015, 13h20
  2. Variables globales et locales pour main()?
    Par flyingman dans le forum x86 16-bits
    Réponses: 7
    Dernier message: 03/06/2013, 18h25
  3. Devenez chasseur de pirates pour 750 euros par mois
    Par Katleen Erna dans le forum Actualités
    Réponses: 2
    Dernier message: 21/08/2009, 23h29
  4. variable globale ou locale pour CurrentDB
    Par jibouze dans le forum VBA Access
    Réponses: 7
    Dernier message: 30/05/2006, 17h15

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