|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
Bonjour tout le monde,
J'aimerai réalisé un tableau assez complexe. Je voudrais avoir dans une colonne la valeur du CA de mon mois en cours. une autre colonne le cumul de mon CA dans l'année en cours (janvier 2011+février 2011). Et une troisième colonne le cumul de mon CA de l'année précédente à la même époque (janvier 2010+février2010). Bien sur tout ça doit être automatique pour qu'au fur et à mesure de l'avancée de l'année tout se passe correctement au niveau de l'automatisme. Pour simplifier votre aide, on utilise les champs (exemple bidon qui se rapproche du mien magasin / mois / année / CA Je pars de 2 requêtes distinctes, déjà est-ce le bon choix ? donc requête 1 -> les données sur l'année N (2011) magasin(1) / mois (1) / année (1) / CA(1) donc requête 2 -> les données sur l'année N-1 (2010) magasin(2) / mois (2) / année (2) / CA(2) Que faire maintenant et dans quel ordre, j'ai fait plein de choses mais jamais satisfait...là je craque ![]() ![]() ![]() ![]() ![]() ![]() Je joins un petit tableau de ce que j'aimerai obtenir ![]() Pour info je suis sur BO XI 3.3 et je travail sur WEBI
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#2 | ||
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Hello Payass,
J'espère que tu as accès au designer, ca facilitera les choses et ca coutera moins en perf. Ce que je ferai : Création d'un objet "Mois en cours" dans le designer qui prend uniquement le mois et pas l'année => 02 par exemple. Tu peux faire 1 ou 2 requêtes, je pense que les 2 fonctionneront. Si 1 requête, tu utiliseras le sinon, tu utilises juste la distinction des 2 requêtes. Je pars sur 2 requêtes : req1 : Citation:
Citation:
Mois en cours : Code :
[req1].[CA] WHERE ([req1].[Mois] = Max([req1].[Mois]) Cumul année précédente : Essaye ca, si ca ne fonctionne pas on avisera.. Bon courage
__________________
|
||
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
j'y vais doucement :
pour le moment j'ai juste créé une requête sur : filtre année en cours + mois dans_liste (1;2) Le premier objectif est d'avoir un indicateur CA du mois actuel, j'ai fait ça : Code :
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
||
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
c'est :
qui pose problème si je le remplace par 2 c'est ok
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#5 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Essaye pour tester de créer un objet Max(mois) et de l'insérer dans ton tableau pour voir ce qu'il te renvoie.
Sinon, tu peux tout simplement ajouter à tes requêtes ton objet "Mois en cours" et à la place du where (mois = max(mois)) tu mets ton mois en cours, ca devrait passer plus facilement
__________________
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
Code :
Essaye pour tester de créer un objet Max(mois) et de l'insérer dans ton tableau pour voir ce qu'il te renvoie. ![]() Code :
Sinon, tu peux tout simplement ajouter à tes requêtes ton objet "Mois en cours"
Et j'ai pas envie de toucher au désigner...univers propriétaire.
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#7 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
Bonjour,
Juste comme ça, pourquoi ne pas utiliser la fonction DateCourante() pour récupérer le mois ?
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
Salut tom,
Je suppose que le DateCourant() correspond au DateActuelle() de webi ... ALors je fais ça : Mois(DateActuelle()) J'obtiens "février". Comment faire pour obtenir 2 pour février sans passer par des si et si..... ? Comment faire pour avoir le mois précédent de ma date actuelle ? en tout cas pas ça : Mois(DateActuelle())-1 Mois(DateActuelle()-31)
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#9 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
En fait, tu as une autre fonction que Mois(). En effet, cette dernière renvoie le libellé du mois, tandis que la fonction NuméroDeMoisDeAnnée() renvoie le numéro de mois.
Du coup, pour obtenir le mois précédent : Code :
=NuméroDeMoisDeAnnée(DateActuelle())-1
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
ok c'est super j'avance.
merci tom et julien. Dernier petit point je voudrais automatiser mon rapport pour planifier des publications. Je voudrais que dans mes conditions de requêtes mettre des filtres pour que la requête s'actualise toujours sur l'année en cours et l'année A-1 sans que j'ai à faire aucune manip. Je verrai après pour les mois car je sais pas encore comment je vais faire. Est ce déjà possible pour l'année avec les objets dont je dispose. Les voici en pièces jointes.
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#11 |
![]() ![]() Thomas CochinConsultant en Business Intelligence Inscription : juin 2009 Messages : 3 271 ![]() |
A priori tes filtres "Année en cours" et "Année précédente" vont te permettre de le faire...
Après, tout dépend si tu as une requête pour chaque année ou une seule pour les deux. Dans ce dernier cas, il suffit de placer tes deux filtres en conditions avec un opérateur OU
__________________
Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches. Un message vous a aidé ? Votez en cliquant sur ![]() Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton ![]() Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP. |
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
oui j'avais trouvé...un peu dans le gaz ce matin, les yeux qui piquent
![]() ![]() je fais essayer de faire automatiquement pour les mois. En fait je veux les mois inférieur au mois d'actualisation...
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#13 | |
|
Invité régulier
![]() Inscription : janvier 2009 Messages : 7 ![]() |
Citation:
c'est un problème courant en gestion. Je ne sais pas si tu peux obtenir des pré-filtres supplémentaire mais si c'est possible avec un nouveau de type "Mois échus année en cours" (et son pendant sur N-1) tes requêtes serait plus faciles à écrire. En utilisant quelque chose du genre (select month(add_month(sysdate), -1) . Voilà, en espérant être pertinent sur ce premier message. LC |
|
|
|
00
|
|
|
#14 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Hello,
Juste pour info concernant le max([Mois]), il faut ajouter dans Rapport pour que ca fonctionne. J'ai dû faire une modif sur un état et je suis tombé sur ca par hasard ![]() @le.cyberien Ton message est très pertinent. C'est un peu l'idée que nous avions proposée plus haut en parlant d'ajouter un objet 'mois courant', qui d'ailleurs est indispensable dans la réalisation de ce qui est demandé ici (l'automatisation) Bonne continuation et bienvenu
__________________
|
|
|
00
|
|
|
#15 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
Code :
Juste pour info concernant le max([Mois]), il faut ajouter dans Rapport pour que ca fonctionne. Je comprends pas trop pourquoi...moi ça fonctionne bien sans avoir ajouter Rapport ?? tu peux m'en dire plus Julien ?
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#16 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Concrètement :
Max([Mois]) est un indicateur comme un autre. Donc, si tu le ventiles avec des dimensions, il utilise le contexte dans lequel tu le mets. Admettons que je fasse un tableau : [Mois] ; max([Mois]) Je vais obtenir par exemple : Alors que le tableau : [Mois] ; Max([Mois]) donnera : Je sais pas si je suis clair ?
__________________
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com