Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Nouveau : 17 juillet 2006
Vous pouvez définir des rapports qui offrent à leurs lecteurs la possibilité de changer de façon interactive l'ordre de tri d'une ou de plusieurs colonnes des données d'un groupe ou d'une région. Vous pouvez permettre de modifier l'ordre de tri à l'aide d'un tri interactif ou d'un tri paramétré.
Dans le cas d'un tri interactif, vous définissez les propriétés UserSort d'une zone de texte d'une colonne ou d'un en-tête de groupe. Quand le rapport s'affiche, un bouton de contrôle du tri apparaît sur l'en-tête de colonne et le lecteur peut cliquer dessus pour trier les données. Initialement, les données ne sont pas triées. Le premier clic trie les données en ordre croissant. Des clics successifs permettent de passer de l'ordre croissant à l'ordre décroissant et inversement.
Dans le cas d'un tri paramétré, vous créez un paramètre pour définir un ordre de tri et l'incluez dans l'expression de tri d'un dataset, d'une région de données ou d'un groupe.
Dans cette leçon, vous allez ajouter les deux types de tri. Vous allez ajouter un paramètre intitulé InitialSort et définir une expression de tri sur la colonne de tableau TotalDue pour commencer par trier les groupes de tableau sur le montant total agrégé. Vous allez créer un paramètre SortBy qui permet au lecteur du rapport de choisir de trier par le nom de magasin ou le nombre de commandes par magasin dans la colonne Store de la table. Vous allez ajouter un bouton de tri interactif à la colonne Store et définir son expression de tri en fonction de la valeur de SortBy.
Pour ouvrir le projet Report Server Advanced Parameters Tutorial (Didacticiel sur les paramètres avancés)
Dans SQL Server Business Intelligence Development Studio, ouvrez, s'il ne l'est déjà, le projet Report Server Advanced Parameters Tutorial (Didacticiel sur les paramètres avancés).
Dans l'Explorateur de solutions, double-cliquez sur le rapport Resellers Worldwide. Le rapport s'ouvre en mode Mise en page.
Dans la prochaine procédure, vous allez modifier l'en-tête de groupe du tableau pour afficher à la fois le nom du magasin et le nombre de ventes par magasin. Vous créerez un paramètre de rapport pour permettre à un utilisateur de choisir la façon dont il veut trier le groupe de tableau : par nom de magasin ou par nombre de ventes par magasin.
Pour ajouter la valeur du compte de groupe à l'en-tête de groupe
Sélectionnez la zone de texte Store dans la première ligne de l'en-tête de groupe du tableau.
Remplacez l'expression
=Fields!Store.Valuepar l'expression suivante :=Fields!Store.Value & vbCrLf & vbTab & "(" & Count(Fields!SalesOrderNumber.Value, "table1_Store") & ")"(Facultatif) Cliquez sur Aperçu, et observez le nom du magasin et le nombre de ventes de chaque magasin sur une ligne distincte de la première ligne de l'en-tête de groupe.
Dans la procédure suivante, vous allez créer un paramètre de rapport pour permettre à un utilisateur de choisir la façon dont il veut trier le groupe de tableau : par nom de magasin ou par nombre de ventes.
Pour ajouter un nouveau paramètre de rapport
Dans le menu Rapport, sélectionnez Paramètres du rapport. La boîte de dialogue Paramètres du rapport s'ouvre.
Cliquez sur Ajouter. Un nouveau paramètre est créé avec des valeurs par défaut.
Dans la section Propriétés, dans la zone de texte Nom, tapez UserSortBy. Vérifiez que le type de données est String.
Dans la zone Demander, tapez How do you want to sort the table group? (Comment voulez-vous trier le groupe de tableau ?).
Désactivez la case à cocher Autoriser une valeur vide.
Dans la section Valeurs disponibles, sélectionnez Sans requête. Entrez les valeurs à l'aide du tableau suivant.
Étiquette Valeur Name of store
Name
Number of sales order per store (Nombre de commandes par magasin)
Number
Dans la section Valeurs par défaut, sélectionnez Sans requête. Dans la zone de texte, tapez Name.
Cliquez sur OK.
Dans la procédure suivante, vous allez ajouter un contrôle UserSort (ou tri interactif) sur la zone de texte de l'en-tête de groupe qui affiche le nom du magasin et le nombre de ventes. Vous définirez une expression pour que le contrôle utilise la valeur du paramètre de rapport UserSortBy. Quand vous affichez un aperçu du rapport, un bouton de tri apparaît sur cette colonne. Vous pouvez cliquer sur le bouton de tri pour afficher les valeurs du champ défini par ce paramètre en ordre croissant ou décroissant.
Pour ajouter un bouton de tri interactif sur un groupe
Dans la ligne d'en-tête du tableau, cliquez avec le bouton droit sur la première zone de texte intitulée textbox2 et choisissez Propriétés. Le contenu de cette zone de texte est la chaîne « Store ». La boîte de dialogue Propriétés de la zone de texte s'ouvre.
Cliquez sur l'onglet Tri interactif.
La définition des propriétés sur l'onglet Tri interactif est la même que la définition des propriétés de UserSort sur une zone de texte
Sélectionnez l'option Ajouter une action de tri interactif à cette zone de texte.
Cliquez sur le bouton Expression (Fx). La boîte de dialogue Modifier l'expression s'affiche.
Collez l'expression ci-après dans le volet des expressions :
=IIF(Parameters!UserSortBy.Value="Name",Fields!Store.Value, Count(Fields!SalesOrderNumber.Value, "table1_Store"))Si vous collez directement cette expression dans la zone de texte, vous n'obtiendrez que la première ligne de l'expression.
Cliquez sur OK.
Dans la section Région ou regroupement de données à trier, sélectionnez Choisir une région ou un regroupement de données. Dans la liste déroulante, choisissez table1. Il s'agit de la région de données du tableau.
Dans la section Évaluer l'expression de tri dans cette étendue, sélectionnez Choisir une région ou un regroupement de données. Dans la liste déroulante, choisissez table1_Store. Il s'agit du regroupement des magasins au sein du tableau.
Si le paramètre UserSortBy a pour valeur Name, cette expression prend la valeur
Fields!Store.Valueet les groupes de tableau sont triés comme ils l'étaient dans la précédente leçon, soit alphabétiquement par nom de magasin. Si le paramètre UserSortBy a une valeur différente de Name, les groupes de tableau sont triés par nombre de ventes dans le groupe selon un ordre croissant.Cliquez sur Aperçu.
La colonne Store du tableau possède maintenant un bouton de tri interactif. L'ordre de tri initial est la valeur par défaut du tri du groupe de tableau. Quand vous cliquez la première fois sur le bouton de tri interactif, la colonne est triée en fonction de la valeur du paramètre UserSortBy. Les clics suivants sur la bascule de tri interactif permettent de passer de l'ordre croissant à l'ordre décroissant et inversement.
Dans la liste déroulante, modifiez la valeur du paramètre UserSortBy en Number of sales per store (Nombre de ventes par magasin). Cliquez sur Afficher le rapport.
Aucune modification ne se produit dans la colonne de tri tant que vous ne retraitez pas le rapport de telle sorte que l'expression du paramètre prenne cette nouvelle valeur. La colonne est maintenant triée par nombre de ventes, et non par nom de magasin.
Dans la procédure suivante, vous allez ajouter un paramètre pour permettre à un utilisateur de choisir la façon dont il veut trier les lignes de détail du tableau.
Pour ajouter un nouveau paramètre de rapport destiné au tri paramétré
Dans le menu Rapport, sélectionnez Paramètres du rapport. La boîte de dialogue Paramètres du rapport s'ouvre.
Cliquez sur Ajouter. Un nouveau paramètre est créé avec des valeurs par défaut.
Dans la section Propriétés, dans la zone de texte Nom, tapez InitialSort. Vérifiez que le type de données est String.
Dans la zone Demander, tapez How do you want to sort the table detail rows? (Comment voulez-vous trier les lignes de détail de tableau ?).
Désactivez la case à cocher Autoriser une valeur vide.
Dans la section Valeurs disponibles, sélectionnez Sans requête. Entrez les valeurs à l'aide du tableau suivant.
Étiquette Valeur Total due
TotalDue
Sales order date
OrderDate
Dans la section Valeurs par défaut, sélectionnez Sans requête. Dans la zone de texte, tapez TotalDue.
Cliquez sur OK.
Dans la prochaine procédure, vous allez définir une expression de tri qui utilise le paramètre de rapport InitialSort pour que les lignes de détail du tableau soient triées en fonction de la valeur de votre choix.
Pour ajouter une expression de tri à la ligne de détails du tableau
Sélectionnez le tableau. Cliquez avec le bouton droit sur la bordure du tableau, puis sélectionnez Propriétés. La boîte de dialogue Propriétés du tableau s'ouvre.
Cliquez sur l'onglet Tri.
Dans la liste déroulante de la zone de texte Expression, sélectionnez <Expression>. La boîte de dialogue Modifier l'expression s'affiche.
Remplacez le signe égal (=) par l'expression suivante :
=IIF(InStr(Parameters!InitialSort.Value,"TotalDue")>0,Fields!TotalDue.Value,Fields!OrderDate.Value)Le paramètre est ainsi testé par rapport à la valeur de chaîne « TotalDue ». S'il existe, le champ TotalDue est utilisé pour l'ordre de tri ; dans le cas contraire, c'est le champ OrderDate qui est utilisé. Comme le sens du tri, Croissant ou Décroissant, ne repose pas sur une expression, la valeur que vous définissez sous l'onglet Tri s'applique au champ spécifié dans l'expression évaluée.
Cliquez sur OK.
(Facultatif) Modifiez la valeur de paramètre de InitialSort, puis cliquez sur Afficher le rapport. Développez le nœud du magasin Efficient Cycling. Vérifiez que les lignes de détails sont triées conformément au paramètre InitialSort.
Étapes suivantes
Vous avez ajouté avec succès deux paramètres pour contrôler si le bouton de tri interactif de la colonne Store effectue le tri sur le nom du magasin ou sur le nombre de ventes, et si les lignes de détails d'un tableau sont triées par date de commande ou par montant total de la commande. Dans la prochaine leçon, vous allez apprendre à contrôler l'état initial de l'exploration vers le bas de ce rapport avec un paramètre booléen masqué. Consultez Leçon 4 : Ajout d'un paramètre booléen pour contrôler l'état initial de l'exploration vers le bas.
Voir aussi
Autres ressources
Utilisation de paramètres dans Reporting Services
Tri des données dans un rapport