[SSRS] Trier les données à l’ouverture d’un sous rapport via le passage d’un paramètre

Avec SSRS (sql server reporting services), vous ne pouvez passer une donnée entre deux rapports qu’à l’aide de paramètres. Nous allons donc voir comment utiliser un paramètre pour choisir une clef de tri d’un tableau d’un rapport ouvert depuis un autre rapport.


La méthode décrite ci-dessous permet de gérer le tri de vos données sans toucher à votre requête SQL ou MDX.
Pour cela, nous allons effectuer 3 étapes assez simples :

  • 1. Créer le paramètre de tri dans le sous rapport
    Dans ‘report Data’, cliquez sur ‘Parameters’ puis sur ‘Add Parameters’.
    Dans l’onglet général, nommez votre paramètre ‘Tri’.
    Create Parameter Order
    Création d’un paramètre de tri

    Dans l’onglet ‘Available Value’, sélectionnez ‘Specify values’. C’est ici, que nous allons créer les différentes clefs de tri possible.
    Créez autant de clef de valeur que de clef de tri que vous souhaitez. Je vous conseille de donner des noms de valeurs le plus simple possible.
    Ex : Label : ‘Classement par année’. Valeur : ‘Year’
    La casse de votre valeur sera importante pour la suite. Donc faites-y attention.

    Specify Values Parameter Order
    Spécification des valeurs possibles pour le paramètres

  • 2. Lier le paramètre au tri du groupe
    Dans la liste de vos ’row groups’ (ils s’affichent en bas de votre écran lorsque vous sélectionnez votre matrix ou votre tableau) faites un clic droit propriété sur celui sur lequel vous voulez que s’effectue le tri.
    Dans l’onglet ‘Sorting’, cliquez sur le bouton ‘Add’ afin de rajouter un tri.
    Cliquez sur le bouton d’expression (fx) pour ajouter l’expression en Visual Basic de tri suivante (à adapter bien sûr en fonction de vos besoins) :

    =SWITCH(
         Parameters!tri.Value  = "Year", Fields!Year.Value
       , Parameters!tri.Value  = "Gross", Fields!Gross_Amount.Value
       , Parameters!tri.Value  = "Net", Fields!Net_Amount.Value
    )

    Pour information, l’expression suivant est une fonction de choix, qui en fonction de la valeur du paramètre de tri (Parameters!tri.Value = « Year ») va indiquer sur quel champs doit se faire le tri (Fields!Year.Value).

    Expession sort by
    Expression en VB permettant de faire fonctionner le tri

  • 3. Appeler le sous rapport depuis le rapport principal en lui passant la clef de tri
    C’est le fonctionnement classique de passage de paramètre entre rapport.
    Allez dans votre rapport père.
    Faites un clic droit propriété sur l’élément sur lequel vous voulez rajouter une action.
    Dans l’onglet ‘action’, sélectionnez l’option ‘Go to report’
    Choisissez le rapport que vous souhaitez ouvrir.
    Ajout action parametre tri
    Ajout d’une action permettant d’ouvrir un sous rapport avec SSRS

    Cliquez sur le bouton ‘Add’ pour ajouter un paramètre à passer au rapport enfant.
    Comme nom du paramètre saisissez ‘tri’.
    Comme valeur du paramètre saisissez une des valeurs que vous avez créé précédemment (attention à la casse).

Testez et tout devrait fonctionner 🙂



Pour aller plus loin je vous propose de lire aussi :


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.