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 :

Mots clefs liés à cet article:

  • donner au reporting parametre
  • utiliser paramètre SortBy SQL reports
  • mail provalue net
  • trie colonne matrice ssrs
  • tri de rapports via reporting services
  • trier ssrs
  • ssrs trier date
  • SSRS Tri les colonne d\un matrix
  • ssrs tri avec deux colonnes
  • ssrs tableau trier