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 :

Faire un tri sur les mois


Sujet :

Designer

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Faire un tri sur les mois
    Bonjour,
    Voici mon problème :

    J'ai crée un univers BO simple avec les 12 mois de l'année et le Chiffre d'affaire correspondant à chaque mois (en récupérant les données d'une base oracle)

    Seulement lorsque je fais mon rapport, il ne me classe pas les mois dans l'ordre (Janvier, Février, Mars......... Décembre) mais par Ordre Alphabétique.

    Je voudrai dans le designer faire en sorte que les mois soit dans le bonne ordre (Tri personnalisé ?).

    Mais je veut que cela se fasse dans le designer, je ne veut pas que sa soit l'utilisateur lorsqu'il fait son rapport qui fasse un tri pour avoir les mois dans l’ordre.

    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Salut,

    Une solution est d'avoir une table Calendrier avec un champ "numéro mois" et un champ "libellé mois".
    Ensuite, tu crées un objet mois dans l'univers, et en liste de valeurs, tu mets "numéro mois" et "libellé mois" avec un tri croissant sur le "numéro mois".

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    J'ai essayer ta solution, j'ai crée ma table calendrier (NumMois, Mois)
    Elle est relier a ma table ChiffreAffaire (Mois,CA).

    Mais je n'arrive désespérément pas a faire en sorte que lorsque que l'on fait un rapport celui ci classe directement les mois de Janvier à Décembre

    ps : Je suis débutant en BO alors peut être que c'est moi qui ne suis pas très doué ^^

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 364
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    Quand un document BO lance une requête, il interroge une base de données qui lui retourne un résultat. Ce résultat est stocké dans le document (dans le microcube).

    Lorsque tu incorpore tout ou partie de ton résultat dans un bloc (tableau ou graphique). Le système récupère les données dont il a besoin du microcube en faisant un équivalent sql de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select
    dim1, dim2, dim3 ...
    agg(indic1), agg(indic2) ...
    from mon microcube
    where
    mesFiltresDeRapportEventuels
     
    group by
     
    dim1, dim2, dim3
    ou agg() est la fonction de projection définie dans le designer pour l'agrégation des indicateurs.
    Puis, il t'affiche le résultat obtenu dans ton bloc. Par défaut le tri implicite est Colonne 1 croissante, Colonne 2 croissante, Colonne 3 croissante (comme celui d'un group by).

    Je ne connais pas de moyen pou forcer un ordre de tri à l'affichage à partir du Designer à moins de mettre le rang du mois devant sa valeur en lettres.

    J'ai bien peur que ce ne soit pas une bonne nouvelle pour ton besoin, a moins qu'un autre forumeur soit plus inspiré.

    Cordialement,

    PS : mon SQL est un peu sale mais j'espère explicite.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Merci de ta réponse,

    Pour résoudre mon problème j'ai rajouter le numéro de mois
    (01-Janvier, 02-Février...)

    Reste à voir si il y à une fonction pour supprimer les 3 premiers caractères (remarque si je les supprime peut être qu'il va re changer l'ordre des mois).

    Au pire je resterai avec les numéros de mois pour garder l'ordre logique.

  6. #6
    Membre expérimenté Avatar de djam21
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2006
    Messages
    843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 843
    Points : 1 307
    Points
    1 307
    Par défaut
    Avec les fonctions Droite() et Len() tu pourras t'en sortir...

    Une formule du genre : Droite(Mois, len(Mois) - 3)

  7. #7
    Membre averti Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Points : 324
    Points
    324
    Je préfère ma soif d'apprendre, à leurs certitudes de savoir....

  8. #8
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    as-tu essayé quelquechose dans ce genre :


    SELECT *
    FROM ma_table
    ORDER BY CASE WHEN ma_table.mois LIKE 'janvier' THEN 1 WHEN ma_table.mois LIKE 'février' THEN ... ... END;
    ~ Bastoonet ~

    Consultant BI

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 39
    Points : 27
    Points
    27
    Par défaut
    J'utilisais les tris personnalisé avant mais de temps en temps le tri se désactivé je devais en permanence recommencer. J'ai trouvé une autre solution :

    On a donc un objet [DATE].

    Je crée une variable : MaDate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    =IF (MonthNumberOfYear([DATE])<10) Then (FormatNumber(Year([DATE]);"0000")+"-0"+MonthNumberOfYear([DATE])) 
    Else (FormatNumber(Year([DATE]);"0000")+"-"+MonthNumberOfYear([DATE]))
    Ainsi j'obtiens par exemple 2011-03, les dates au format US se classent donc automatiquement plus besoin de tri.

    A bientôt

Discussions similaires

  1. [struts]: Pagination et tri sur les colonnes
    Par sleepy2002 dans le forum Struts 1
    Réponses: 3
    Dernier message: 09/07/2007, 15h16
  2. Problème de tri sur les dates par année puis mois
    Par rob2-9 dans le forum Access
    Réponses: 26
    Dernier message: 11/08/2006, 11h04
  3. Tri sur les champs
    Par Pias dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/04/2006, 17h14
  4. Réponses: 12
    Dernier message: 31/03/2006, 20h02
  5. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31

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