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 :

Filtre dynamique sur 12 dernier mois [VxiR2]


Sujet :

Webi

  1. #1
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Filtre dynamique sur 12 dernier mois
    Bonjour,

    Je travaille actuellement sur la création de requêtes WebI sous BO XIR2.
    Je voudrais analyser des indicateurs en filtrant les 12 derniers mois precedents le mois en cours, sans que l'utilisateur n'ai à choisir la date dans l'invite.
    Je pense que je dois créer un filtre dynamique mais je ne sais pas comment je dois le faire!!!!
    J'ai essayé de créer une variable "DouzeDerniersMois" avec la formule suivante :

    DouzeDerniersMois=[Date] Entre(DateRelative(DateActuelle(); -365);DateActuelle())

    ou [Date] est l'axe de mes dates que je dois filtrer. La variable DouzeDerniersMoi me retourne alors : #FORMAT

    Est ce que qlq un pourrait m'aider!!! merci d'avance

  2. #2
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Je n'ai pas d'accès à WebI, mais sous DeskI il te suffit d'aller dans l'option "Formater les filtres", puis de créer un filtre sur la variable voulue, ici [date], puis de cliquer sur "Définir" et de coller ta formule qui me semble correcte.

    Je pense que la manip dans WebI doit être relativement proche de celle-ci.

  3. #3
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci de m'avoir répondu TomDuBouchon, mais malheuresement je n'ai pas accès à Deski.

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[Invoice_date] Between (RelativeDate(CurrentDate();-365);CurrentDate())
    fonctionne chez moi

    par contre, quand j'ai essayé avec un autre indicateur de date (issu d'une tablea calendrier) la, j'ai aussi eu le #format

    essaye un peu, dans ta formule, de remplacer [Date] par todate("01/01/2009";"dd/MM/yyyy")

    le but étant de voir si c'est l'indicateur le probleme ou la formule en elle meme

  5. #5
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci EmmanuelleC,
    J'ai remplacé Date par la formule EnDate("01/01/2009";"jj/MM/aaaa") mais ça retourne #erreur cette fois ci

  6. #6
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Attention à l'opérateur Entre qui demande pas mal de parenthèses. Ca pourrait venir de là...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Date] Entre((DateRelative(DateActuelle(); -365));(DateActuelle()))

  7. #7
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    l'erreur n'est pas au niveau syntaxique mais au niveau du resultat dans le tableau. ça retourne #ERREUR

  8. #8
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Surprenant que ça ne fonctionne pas...

    L'objet pour lequel tu as une formule, tu l'exploites ou tu l'affiches tel quel ?
    Car en l'occurence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EnDate("01/01/2009";"jj/MM/aaaa") Entre((DateRelative(DateActuelle(); -365));(DateActuelle()))
    Renvoie un booléen, ici 1 car le 01/01/2009 est effectivement entre le 14/08/2008 et le 14/08/2009.

    Je ne sais pas si ça a un impact en WebI, mais essaye d'appliquer le format "standard" pour voir si ça te supprime le #ERR

  9. #9
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Oui en effet, ça retourne bien un booléen!!
    Mais ce que je voudrais faire c'est d'avoir un tableau avec mesindicateurs sur les douze derniers dynamiquement.
    voici une capture d'ecran


  10. #10
    Membre averti

    Inscrit en
    Juillet 2007
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 391
    Points : 443
    Points
    443
    Par défaut
    je vais poser une question bête :

    c'est dans ton rapport que tu veux un filtre dynamique ou dans ta requête.

    A priori, d'après ton post, le plus simple serait de le faire dans ta requête.

    Pour cela, crée une dimension "Date J-365" dans ton univers avec la formule suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = DateRelative(DateActuelle(); -365)
    Puis, dans requête, mets la condition suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ton objet date] >= [Date J-365]
    Sinon, si tu veux faire un filtre directement dans le rapport après avoir ramené toutes tes données, c'est le même principe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ton objet date] >= DateRelative(DateActuelle(); -365)
    Personnellement, je te conseille de faire dans ta requête.

    Dans le cas contraire (dans le rapport), la fonction DateActuelle() se met à jour à chaque ouverture du rapport (si mes souvenirs sont bons) même si le rapport n'a pas encore été rafraichi ...

  11. #11
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    c'est pas genant que ca renvoie un booléen, apres on le met dans une variable et on filtre la dessus

    le probleme, c'est que la formule ne marche pas alors que la syntaxe est bonne (vu qu'elle marche chez moi sur certains indicateurs)

    Et le erreur m'embete aussi, dans le webi fr il faut aussi mettre MM en majuscule?
    si tu insere une colonne et que tu mets juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EnDate("01/01/2009";"jj/MM/aaaa")
    il met déja erreur? ou ca fonctionne?

    Sinon, bete question, quand je vois tes dates sur le screen, c'est construit comment? month([date]) +" "+ year([date])? ou c'est une date mais avec un format de date type mmmm yyyy?
    parce qu'a vue de nez, pour comparer avec une date, il va falloir une autre date, et en voyant ton tableau, c'est pas sur que ca en soit une.

  12. #12
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Vu qu'il y a du "janv. 2009" je pense que c'est plutot du mmm aaaa.
    Par contre, si la formule appliquée dans la barre de formule te renvoie ce tableau, c'est qu'il y a déjà un problème en amont...

  13. #13
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Voila une capture d'écran avec la formule que tu m'a donné EmmanuelleC



    La dimension [Date] est construite sous forme 01/MM/aaaa mais elle est affichée sous forme Mmm.aaaa

    Je n'ai pas les droits d'accès aux univers donc toutes mes maanips sont sur le rapport

    Merci de votre aide

  14. #14
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je crois que j'ai trouvé la solution !!!tout seul comme un grand
    J'ai crée une variable que j'ai nommé DDM et définie par :
    =Si ([Date] >= DateRelative(DateActuelle(); -60);"True";"False")
    qui désigne les deux derniers mois seulement de la dimension [Date] pour tester si ça va marcher

    puis j'ai fixé un filtre de sur la variable DDM avec la valeur "True" et ça marche

    Voici une capture d'ecran



    Si vous avez une meilleur solution n'hesitez pas!!!


    Merci beaucoup tout le monde pour votre aide!! vous êtes sympas

  15. #15
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Si ça marche, reste comme ça et teste avec "-365". Cependant, je ne vois pas la différence avec ce qui avait déjà été testé...

  16. #16
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    ça marche très bien même avec -365!!! Merci beaucoup à toi TomDuBouchon et à tout le monde

  17. #17
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Plus à EmmanuelleC et bch97 qu'à moi sur ce post

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

Discussions similaires

  1. [XL-2003] Filtre dynamique sur TCD
    Par aminnio dans le forum Excel
    Réponses: 0
    Dernier message: 03/07/2013, 17h53
  2. Ajouter un filtre de temps sur le dernier mois
    Par Nahed bs dans le forum SSAS
    Réponses: 1
    Dernier message: 26/07/2012, 10h23
  3. [WD16] Filtre dynamique sur BDD Hyperfile
    Par JustineJ dans le forum WinDev
    Réponses: 2
    Dernier message: 08/08/2011, 13h31
  4. Filtres dynamiques sur formulaire
    Par Sami Xite dans le forum IHM
    Réponses: 4
    Dernier message: 02/05/2008, 19h39
  5. [débutant] Filtre 'dynamique' sur une JTable
    Par d_token dans le forum Composants
    Réponses: 8
    Dernier message: 04/08/2006, 12h01

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