|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 19 ![]() |
Bonjour !
J'ai un petit soucis avec designer. J'utilise la fonction datename() pour extraire le mois en lettre à partir d'une date donnée. Le seul soucis c'est que lors de l'affichage les mois ne sont pas du tout trié par ordre logique (janvier, février, etc...) Mon code se présente comme ceci : Code :
SELECT datename(m,dbo.calendrier.jour) Citation:
Quelqu'un aurait une idée ? Merci d'avance.
|
|
|
|
00
|
|
|
#2 | |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Bonjour,
Citation:
![]() Janvier, Février, etc... Ne sont pas des dates, ce sont des mots. BO voit une liste de mots, il les trie donc alphanumériquement, soit Aout, Avril etc... Pour que le tri se fasse correctement, il faut simplement créer une variable qui va recenser le numéro du mois et trier sur cette variable. Il existe également le tri personnalisé qui peut se faire dans le rapport. Bon courage
__________________
|
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 19 ![]() |
Je ne comprend pas comment faire en utilisant une variable
|
|
|
00
|
|
|
#4 | ||||
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Le but final n'est pas de pouvoir trier dans le designer, ca n'a pas d'intérêt, je pense que nous sommes d'accord. L'intérêt est de trier dans le rapport.
Donc dans le designer, il faut créer une dimension : Je ne connais pas le code par contre ![]() Mais, de tel sorte que lorsqu'on croise cette variable avec ta dimension "Mois en toute lettre", on ait la chose suivante : Code :
Code :
Code :
Decode([Mois],'Janvier',1,'Février',2,.....,'Novembre',11,12)
__________________
|
||||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 19 ![]() |
Oui ça je comprend.
Mais en faite je voulais faire en sorte que les mois soit trier en ne prenant que la dimension Moi dans le rapport sans forcement avoir a prendre la dimension associé au numéro du mois |
|
|
00
|
|
|
#6 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Une autre solution :
Tu garde ta date, et tu lui mets en format "mmm". Normalement tu garderas le tri "naturel". Si tu as plusieurs jours ( et donc plusieurs mois à afficher ) tu forces au 1er jour du mois. Après dans deski tu peux trier dans l'ordre "naturel" aussi je crois. |
|
00
|
|
|
#7 | |||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 168 ![]() |
Citation:
Dans Designer il faut garder un objet de type date -non pas la date elle même- en la "tronquant" au 1er jour du mois. Exemple pour Oracle : Code :
Un simple tri croissant dans le tableau du rapport Bo donnera le résultat attendu. PS : Pensez à déterminer le format des objets dates et surtout numériques dans Designer. Rien n'est plus déprimant pour les utilisateurs que de devoir dans chaque rapport et à chaque tableau, enlever séparateur de milliers et décimales ... sur l'objet Année par exemple.
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|||
|
|
00
|
|
|
#8 | |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Salut Bruno,
Citation:
Ex : Jeudi, Vendredi Si on veut le mois il faut mettre "mmm" |
|
|
00
|
|
|
#9 | |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 168 ![]() |
Citation:
Vu l'heure je pense que mon Time Out a explosé
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 19 ![]() |
C'est bon ça marche merci
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 19 ![]() |
Cette technique a ses limites quand même.
Car si l'ont veut afficher le résultat de notre objet dans un @prompt il affichera la date au format de base "01/01/2011 00:00:00" et non pas avec le nom du mois. |
|
|
00
|
|
|
#13 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Parce qu'il faut modifier la liste de valeurs directement dans le SQL de l'objet pour avoir le nom des mois.
BO n'a pas de limites !
__________________
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 19 ![]() |
Je ne comprend pas.
Comment ça modifier la liste des valeurs ? |
|
|
00
|
|
|
#15 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Dans le designer, tu doubles cliques sur ton objet, onglet propriétés, tu cliques sur modifier et ensuite tu as accès au SQL de la liste de valeur qui est ramenée.
__________________
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 19 ![]() |
Oui ça je vois mais je ne comprend pas comment dans le sql définir le format Mmm
|
|
|
00
|
|
|
#17 |
![]() ![]() Julien LizzulInscription : mars 2008 Messages : 1 103 ![]() |
Quel est le code de ton SQL actuellement ?
As tu essayé le code que tu nous as proposé au début du topic ? Code :
SELECT DISTINCT datename(m,dbo.calendrier.jour) FROM calendrier
__________________
|
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 19 ![]() |
Non mais tu n'as pas compris le problème je pense.
J'ai crèer un objet Mois au format Mmm comme vous me l'avais dit. Le SQL de cet objet est le suivant : Code :
DateAdd(Month, DateDiff(Month, 0,dbo.calendrier.jour), 0) Jusque la c'est bon dans le designer ça m'affiche bien les Mois sous la forme "Janv.", "Fév." etc... Le soucis c'est que lorsque je fais une condition (pour sélectionner un mois par exemple) avec un @prompt qui a en valeur la liste des valeurs de mon objet Mois, ça me sort les valeur au format datetime de base et ça ne prend pas en compte le format Mmm que j'ai appliqué à mon objet. |
|
|
00
|
|
|
#19 | |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Je pense qu'il y a un malentendu
Citation:
C'est un problème dans les valeurs de l'invite ou dans l'affichage dans le rapport ? |
|
|
00
|
|
|
#20 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 950 ![]() |
Comme le dit Julien tu peux modifier la liste de valeurs de l'objet.
A priori tu dois prendre les 1ers jours du mois + les noms des mois. |
|
00
|
Copyright © 2000-2012 - www.developpez.com