Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Designer
Designer Forum d'entraide Designer (création d'univers, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2011, 10h54   #1
Invité de passage
 
Inscription : mars 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 19
Points : 2
Points : 2
Par défaut Trier les mois par ordre après un datename()

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)
Ils sont trié dans cet ordre par défaut, je ne comprend pas pourquoi :
Citation:
Aout
Avril
Décembre
Février
Janvier
Juillet
Juin
Mai
Mars
Novembre
Octobre
Septembre
Et même lorsque je veux faire un tri croissant dessus ça ne change rien.

Quelqu'un aurait une idée ? Merci d'avance.
minimaland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h13   #2
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Bonjour,

Citation:
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...)
Malheureusement, c'est le contraire, ils sont triés de façon logique
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
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h49   #3
Invité de passage
 
Inscription : mars 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 19
Points : 2
Points : 2
Je ne comprend pas comment faire en utilisant une variable
minimaland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h01   #4
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
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 :
Code :
SELECT date(m,dbo.calendrier.jour)
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 :
1
2
3
4
5
1 Janvier
2 Fevrier
3 Mars
...
12 Decembre
Si tu ne trouves pas le code adéquat avec ton SGBD, tu peux toujours passer par un decode ou un case :
Code :
1
2
3
4
5
6
Case [Mois] 
when 'Janvier' then 1 
when 'Février' then 2
...
when 'Décembre' then 12
END
ou
Code :
Decode([Mois],'Janvier',1,'Février',2,.....,'Novembre',11,12)
Ensuite, il te suffira de ramener cette nouvelle variable et de trier dessus dans ton rapport.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h06   #5
Invité de passage
 
Inscription : mars 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 19
Points : 2
Points : 2
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
minimaland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h22   #6
Modérateur
 
Avatar de doc malkovich
 
Homme
Consultant en Business Intelligence
Inscription : juillet 2008
Messages : 950
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : juillet 2008
Messages : 950
Points : 1 467
Points : 1 467
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.
__________________
Avez-vous 60 secondes pour répondre aux sondages sur BO ici et ?
doc malkovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 00h59   #7
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 168
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 168
Points : 2 702
Points : 2 702
Citation:
Envoyé par doc malkovich Voir le message
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.
Tout à fait !

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 :
1
2
trunc(ladate,'MONTH')
trunc(09/03/2011,'MONTH' )= 01/03/2001
Une fois l'objet dimension créé ainsi, toujours dans Designer, lui appliquer le format "Jjjj"
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 !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 08h50   #8
Modérateur
 
Avatar de doc malkovich
 
Homme
Consultant en Business Intelligence
Inscription : juillet 2008
Messages : 950
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : juillet 2008
Messages : 950
Points : 1 467
Points : 1 467
Salut Bruno,
Citation:
Envoyé par Bruno2r Voir le message
Une fois l'objet dimension créé ainsi, toujours dans Designer, lui appliquer le format "Jjjj"
Avec ce format on a les libellés des jours, non ?
Ex : Jeudi, Vendredi

Si on veut le mois il faut mettre "mmm"
__________________
Avez-vous 60 secondes pour répondre aux sondages sur BO ici et ?
doc malkovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 10h32   #9
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 168
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 168
Points : 2 702
Points : 2 702
Citation:
Envoyé par doc malkovich Voir le message
Salut Bruno,

Avec ce format on a les libellés des jours, non ?
Ex : Jeudi, Vendredi

Si on veut le mois il faut mettre "mmm"
Evidemment OUI
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 !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 11h51   #10
Invité de passage
 
Inscription : mars 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 19
Points : 2
Points : 2
C'est bon ça marche merci
minimaland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 12h17   #11
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
N'oublie pas :
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 10h35   #12
Invité de passage
 
Inscription : mars 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 19
Points : 2
Points : 2
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.
minimaland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h22   #13
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
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 !
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h25   #14
Invité de passage
 
Inscription : mars 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 19
Points : 2
Points : 2
Je ne comprend pas.

Comment ça modifier la liste des valeurs ?
minimaland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h41   #15
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
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.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h43   #16
Invité de passage
 
Inscription : mars 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 19
Points : 2
Points : 2
Oui ça je vois mais je ne comprend pas comment dans le sql définir le format Mmm
minimaland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h55   #17
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
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
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 12h15   #18
Invité de passage
 
Inscription : mars 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 19
Points : 2
Points : 2
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)
. Donc la je tronque la valeur en la renvoyant au premier jours du moi comme j'ai plusieurs jours.

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.
minimaland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 12h16   #19
Modérateur
 
Avatar de doc malkovich
 
Homme
Consultant en Business Intelligence
Inscription : juillet 2008
Messages : 950
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : juillet 2008
Messages : 950
Points : 1 467
Points : 1 467
Je pense qu'il y a un malentendu

Citation:
Envoyé par minimaland Voir le message
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.
Tu veux dire quoi par là ?
C'est un problème dans les valeurs de l'invite ou dans l'affichage dans le rapport ?
__________________
Avez-vous 60 secondes pour répondre aux sondages sur BO ici et ?
doc malkovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 12h19   #20
Modérateur
 
Avatar de doc malkovich
 
Homme
Consultant en Business Intelligence
Inscription : juillet 2008
Messages : 950
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : juillet 2008
Messages : 950
Points : 1 467
Points : 1 467
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.
__________________
Avez-vous 60 secondes pour répondre aux sondages sur BO ici et ?
doc malkovich est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h04.


 
 
 
 
Partenaires

Hébergement Web