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

MS SQL Server Discussion :

SSRS parametre à classer par ordre decroissant


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut SSRS parametre à classer par ordre decroissant
    Bonjour,

    Je travaille sur un rapport sous SSRS 2005 dont le dataset est basé sur un cube Analysis Services.
    J'ai un parametre "Année budgetaire" que j'aimerai classé par ordre décroissant, mais je n'ai pas trouvé la commande MDX qui permettrait de le faire.
    J'etais parti sur DRILLDOWNLEVELTOP, mais apparemment il me manque un parametre...
    voici la requete incriminée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    WITH MEMBER [Measures].[ParameterCaption] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.MEMBER_CAPTION' 
    MEMBER [Measures].[ParameterValue] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.UNIQUENAME' 
    MEMBER [Measures].[ParameterLevel] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.LEVEL.ORDINAL' 
    SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS , 
    [Dim Exercice Budgetaire].[EXERCICE].CHILDREN ON ROWS FROM [Win M9DW]
    Est ce que qqn pour me dire quel est le mot de commande et comment l'utiliser.
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Je n'ai pas compris ce que tu veux. Qu'appelles-tu un paramètre ? Paramètre du rapport, ou simplement un set de tuples ? Si tu veux ordrer ton résultat dans le rapport, tu peux le faire dans les options du tableau ou de la matrice.
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  3. #3
    Membre éclairé
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 815
    Points
    815
    Par défaut
    Je pense que ca doit etre quelque chose de ce genre que tu veux non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    WITH 
    MEMBER [Measures].[ParameterCaption] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.MEMBER_CAPTION' 
    MEMBER [Measures].[ParameterValue] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.UNIQUENAME' 
    MEMBER [Measures].[ParameterLevel] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.LEVEL.ORDINAL' 
    SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS , 
    order([Dim Exercice Budgetaire].[EXERCICE].CHILDREN,BDESC) ON ROWS FROM [Win M9DW]

  4. #4
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    ce que j'entends par parametre, dans mon cas c'est une liste des années budgetaire présentent dans mon cube, lors de l'execution l'utilisateur doit choisir l'année qui servira de référence au rapport pour l'extraction des données.
    effectivement 'order(...,bdesc)' doit fonctionner, mais dans mon cas ca me renvoie une erreur. Ca vient peut etre du fait que la requete a été générée automatiquement par SSRS qd j'ai sélectionné l'année comme parametre. je pense que c'est juste une question de syntaxe.

  5. #5
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    j'ai pas trouvé la syntaxe à mettre.
    le probleme venant , a mon avis, que [dim exercice budgetaire].[exercice] est un varchar.
    si qqn veut bien m'aider...

  6. #6
    Membre éclairé
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 815
    Points
    815
    Par défaut
    Et comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    WITH 
    MEMBER [Measures].[ParameterCaption] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.MEMBER_CAPTION' 
    MEMBER [Measures].[ParameterValue] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.UNIQUENAME' 
    MEMBER [Measures].[ParameterLevel] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.LEVEL.ORDINAL' 
    SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS , 
    ORDER([Dim Exercice Budgetaire].[EXERCICE],BDESC) ON ROWS FROM [Win M9DW]
    Si il ne t'affiche que le ALL, il faut bidouiller le level avec un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MEMBER [Measures].[ParameterLevel] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.LEVELS(1)'
    (j'ai plus la syntaxe en tête, on est vendredi aprem mais si c'est pas ca, il me semble l'avoir donnée dans ton post où tu demandais comment enlever les ALL)

  7. #7
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    effectivement ca ne me renvoie que le 'ALL', meme avec la bidouille...
    Et la facon que tu m'avais donné pour retirer les 'ALL', c'etait de mettre '[Dim Exercice Budgetaire].[EXERCICE].CHILDREN'.
    Mais avec '.CHILDREN' j'ai une erreur.
    C''est qd meme super compliqué pour classer le résultat d'une requete!!

  8. #8
    Membre éclairé
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 815
    Points
    815
    Par défaut
    C'est bizarre qu'avec Children ca te sorte une erreur. C'est quoi le message de l'erreur ?

    Petite question, comment se présentent les données de ton champ exercice ? Par exemple, si c'est un truc du genre "Année fiscale 2007", c'est normal que le tri ne marche pas. Peut être qu'il faudrait rajouter un membre du style (toujours avec mon exemple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    With 
    MEMBER [Measures].[TRI] as 'int(Right([Dim Exercice Budgetaire].[EXERCICE].currentmember,4))'
    ...
    order([Dim Exercice Budgetaire].[EXERCICE].children,[Measures].[Tri],bdesc)
    from ...
    C'est ce que j'ai fait pour trier des semaines qui étaient sous la forme "W32 2007". Le problème était que la W9 se trouvait avant la W14 dans l'ordre (W9, W14, W13, W12 pour le mois). Tu peux peut être essayer ca.

  9. #9
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    t bon!!

    en fait ma liste se presentait comme ca : 1997,1998,1999,2000...
    Donc pas besoin de prendre la partie droite, par contre passer en type entier, c'etait ça la solution!

    j'ai réussi avec ce que tu m'as mis avec une petite modification, une petite contribution de ma part (en rouge)...faut bien que je serve à qqch...

    j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    WITH 
    MEMBER [Measures].[TRI] AS 'int([Dim Exercice Budgetaire].[EXERCICE].currentmember.MEMBER_CAPTION)'
    MEMBER [Measures].[ParameterCaption] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.MEMBER_CAPTION' 
    MEMBER [Measures].[ParameterValue] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.UNIQUENAME' 
    MEMBER [Measures].[ParameterLevel] AS '[Dim Exercice Budgetaire].[EXERCICE].CURRENTMEMBER.LEVEL.ORDINAL' 
    SELECT {[Measures].[TRI],[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS ,
    ORDER([Dim Exercice Budgetaire].[EXERCICE].children,[Measures].[Tri],bdesc) 
    ON ROWS FROM [Win M9DW]
    merci bien (encore) pour ton aide!!

  10. #10
    Membre éclairé
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Points : 815
    Points
    815
    Par défaut
    Ah vi effectivement, c'était un oubli de ma part. On est lundi matin aussi, ceci explique cela.

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

Discussions similaires

  1. Classer par ordre 2 champs
    Par gastoncs dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/02/2008, 16h30
  2. Fenêtre InputBox à classer par ordre de passage
    Par lg022 dans le forum Access
    Réponses: 5
    Dernier message: 14/02/2007, 16h37
  3. Comment classer par ordre chronologique
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/11/2006, 22h04
  4. [MySQL] classer par ordre numérique
    Par july dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/05/2006, 09h43
  5. [VB6] Classer par ordre alphabétique
    Par boudincweole10 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 02/05/2006, 17h48

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