Créer une matrice (Générateur de rapports et SSRS)Create a Matrix (Report Builder and SSRS)

Utilisez une matrice pour afficher des données groupées et des informations récapitulatives.Use a matrix to display grouped data and summary information. Vous pouvez regrouper des données en fonction de plusieurs champs ou expressions dans des groupes de lignes et de colonnes.You can group data by multiple fields or expressions in row and column groups. Une matrice fournit des fonctionnalités similaires à celles des analyses croisées et des tableaux croisés dynamiques.Matrices provide functionality similar to crosstabs and pivot tables. À l'exécution, lorsque les données de rapport sont associées aux régions de données, une matrice se développe horizontalement et verticalement sur la page.At run time, as the report data and data regions are combined, a matrix grows horizontally and vertically on the page. Les valeurs des cellules de matrice sont des valeurs d'agrégat limitées à l'intersection des groupes de lignes et de colonnes auxquels la cellule appartient.Values in matrix cells display aggregate values scoped to the intersection of the row and column groups to which the cell belongs. Vous pouvez mettre en forme les lignes et les colonnes afin de mettre en surbrillance les données que vous souhaitez mettre en évidence.You can format the rows and columns to highlight the data you want to emphasize. Vous pouvez également inclure des bascules d'extraction qui permettent initialement de masquer les données de détail ; l'utilisateur peut ensuite cliquer sur ces bascules pour afficher plus ou moins de détails, en fonction de ses besoins.You can also include drilldown toggles that initially hide detail data; the user can then click the toggles to display more or less detail as needed.

Vous pouvez enrichir votre conception initiale en développant une matrice en vue d'améliorer l'affichage pour l'utilisateur.After your initial design, you can continue to develop a matrix to improve the viewing experience for the user. Pour plus d’informations, consultez Contrôle de l’affichage de la région de données de tableau matriciel sur une page de rapport (Générateur de rapports et SSRS).For more information, see Controlling the Tablix Data Region Display on a Report Page (Report Builder and SSRS).

Pour une rapide prise en main des matrices, consultez Didacticiel : création d’un rapport de matrice (Générateur de rapports).To quickly get started with matrices, see Tutorial: Creating a Matrix Report (Report Builder).

Note

Vous pouvez publier des listes hors d'un rapport en tant que parties du rapport.You can publish lists separately from a report as report parts. En savoir plus sur les Parties des rapports (Générateur de rapports et SSRS).Read more about Report Parts (Report Builder and SSRS).

Ajout d'une matrice à votre rapportAdding a Matrix to Your Report

Ajoutez une matrice à l'aire de conception depuis l'onglet Insérer sur le ruban.Add a matrix to the design surface from the Insert tab on the ribbon. Vous avez la possibilité d'ajouter une matrice à l'aide de l'Assistant Tableau ou matrice, qui inclut la création d'une connexion à la source de données et d'un dataset ainsi que la configuration de la matrice ou l'ajout d'une matrice basée sur le modèle de matrice.You have the option to add a matrix by using the Table or Matrix Wizard, which includes creating a data source connection and dataset, and configuring the matrix or adding a matrix based on the matrix template.

Note

L'Assistant n'est disponible que dans Générateur de rapports SQL Server pour SQL Server 2012SQL Server Report Builder for SQL Server 2012.The wizard is available only in Générateur de rapports SQL Server pour SQL Server 2012SQL Server Report Builder for SQL Server 2012.

Pour décrire le mode de configuration d'une table du début à la fin, cette rubrique utilise le modèle de matrice.To describe how to configure a table from beginning to end, this topic uses the matrix template. Au départ, la matrice contient un groupe de lignes, un groupe de colonnes, une cellule d'angle et une cellule de données, comme indiqué dans l'illustration suivante.The matrix initially has a row group, a column group, a corner cell, and a data cell, as shown in the following figure.

Matrice vide avec 1 groupe de lignes et 1 groupe de colonnesBlank Matrix with 1 row and 1 column group

Lorsque vous sélectionnez une matrice sur l'aire de conception, des descripteurs de ligne et de colonne apparaissent, comme indiqué dans l'illustration suivante.When you select a matrix on the design surface, row and column handles appear, as shown in the following figure.

Nouvelle matrice ajoutée à partir de la boîte à outils, sélectionnéeNew Matrix added from Toolbox, selected

Ajoutez des groupes en faisant glisser des champs de dataset vers les zones de groupes de lignes et de groupes de colonnes du volet de regroupement.Add groups by dragging dataset fields to the Row Groups and Column Groups areas of the Grouping pane. Le premier champ que vous faites glisser vers le volet des groupes de lignes ou des groupes de colonnes remplace le groupe par défaut vide initial.The first field that you drag to the row groups or column groups pane replaces the initial empty default group. Vous pouvez alors appliquer une mise en forme à chaque cellule, en fonction des données.You can then apply formatting for each cell, depending on the data.

Matrice, ligne Category et groupe de colonnes GeographyMatrix, Category row and Geography column group

Dans l'aperçu, vous pouvez développer la matrice afin d'afficher les valeurs des groupes de lignes et des groupes de colonnes.In Preview, the matrix expands to show the row group and column group values. Les cellules affichent des valeurs de résumé, comme indiqué dans l'illustration suivante.The cells display summary values, as shown in the following figure.

Aperçu d’une matrice rendue avec des groupes développésPreview for rendered matrix with expanded groups

La matrice avec laquelle vous démarrez est un modèle basé sur la région de données de tableau matriciel.The matrix you start with is a template based on the tablix data region. Vous pouvez poursuivre le développement de la conception de votre matrice en ajoutant des groupes de lignes ou de colonnes imbriqués ou adjacents, voire en ajoutant des lignes de détails.You can continue to develop your matrix design by adding nested or adjacent row groups or column groups, or even adding detail rows. Pour plus d’informations, consultez Exploration de la souplesse d’une région de données de tableau matriciel (Générateur de rapports et SSRS).For more information, see Exploring the Flexibility of a Tablix Data Region (Report Builder and SSRS).

Ajout d'un groupe parent ou d'un groupe enfant dans une matriceAdding a Parent Group or Child Group to a Matrix

Pour ajouter un groupe selon un seul champ de dataset, faites glisser le champ à partir du volet des données de rapport vers la zone de groupes de lignes ou de groupes de colonnes appropriée, dans le volet de regroupement.To add a group based on a single dataset field, drag the field from the Report Data pane to the appropriate Row Groups or Column Groups area of the Grouping pane. Déposez le champ dans la hiérarchie de groupes pour définir sa relation aux groupes existants.Drop the field in the group hierarchy to set its relationship to existing groups. Déposez-le au-dessus d'un groupe existant pour créer un groupe parent ou sous un groupe existant pour créer un groupe enfant.Drop it above an existing group to create a parent group, or drop it below an existing group to create a child group.

L'insertion d'un champ dans le volet de Regroupement entraîne plusieurs conséquences :Several things happen when you drop a field in the Grouping pane:

  • Un nouveau groupe avec un nom unique défini selon le nom du champ est créé automatiquement.A new group with a unique name based on the field name is automatically created. L'expression de groupe prend la valeur de la référence de nom de champ simple, par exemple [Category].The group expression is set to the simple field name reference, for example [Category].

  • Une nouvelle ligne ou colonne apparaît dans la zone du groupe de lignes ou de colonnes correspondante.A new row or column appears in the corresponding row group or column group area.

  • Dans la nouvelle colonne, une cellule de groupe de lignes apparaît pour les lignes de données par défaut du dataset du rapport.In the new column, a row group cell appears for the default data rows from the report dataset. Les cellules du corps du tableau matriciel pour cette ligne sont désormais des membres du groupe de lignes.Cells in the tablix body for this row are now members of the row group. Si des groupes de colonnes sont définis, les cellules de ces colonnes sont des membres de ces groupes de colonnes.If there are any column groups defined, cells that are in the columns are members of those column groups. Les indicateurs de groupe fournissent des signaux visuels d'appartenance de groupe pour chaque cellule.Group indicators provide visual cues for the group membership of each cell.

    Pour personnaliser le groupe créé, utilisez la boîte de dialogue Groupe de tableaux matriciels .To customize the group after it is created, use the Tablix Group dialog box. Vous pouvez modifier le nom du groupe ; vous pouvez également modifier des expressions ou en ajouter d'autres à la définition de groupe.You can change the group name, and edit or add additional expressions to the group definition. Pour ajouter ou supprimer des lignes dans la table, consultez Insérer ou supprimer une ligne (Générateur de rapports et SSRS).To add or remove rows from the table, see Insert or Delete a Row (Report Builder and SSRS).

    Au cours de l'exécution du rapport, des en-têtes de colonnes dynamiques se développent vers la droite (ou vers la gauche, si la propriété Direction de la matrice a la valeur RTL), pour autant de colonnes que de valeurs de groupe uniques.When the report runs, dynamic column headers expand right (or left, if the Direction property of the matrix is set to RTL) for as many columns as there are unique group values. Des lignes dynamiques se développent vers le bas de la page.Dynamic rows expand down the page. Les données qui apparaissent dans les cellules du corps du tableau matriciel sont des agrégats basés sur les intersections des groupes de colonnes et des groupes de lignes, comme indiqué dans l'illustration suivante.The data that appears in the tablix body cells are aggregates based on the intersections of row and column groups, as shown in the following figure.

    Matrice, groupes de lignes et de colonnes imbriqués avec totauxMatrix, nested row and column groups with totals

    Dans l'aperçu, le rapport s'affiche comme illustré ci-dessous.In preview, the report displays as in the following figure.

    Groupes imbriqués en mode AperçuNested Groups in Preview

    Pour écrire des expressions qui spécifient une étendue autre que l'étendue par défaut, vous devez spécifier le nom d'un dataset, d'une région de données ou d'un groupe dans la fonction d'agrégation.To write expressions that specify a scope other than the default scope, you must specify the name of a dataset, data region, or group in the aggregate function all. Pour calculer le pourcentage de chaque sous-catégorie dans les valeurs de groupe de la catégorie Habillement, ajoutez une colonne dans le groupe Catégorie à côté de la colonne Total, mettez en forme la zone de texte pour l'affichage du pourcentage et ajoutez une expression qui utilise l'étendue par défaut dans le numérateur, ainsi que l'étendue du groupe Catégorie dans le dénominateur, comme indiqué dans l'exemple suivant.To calculate the percentage each subcategory contributes to the Clothing category group values, add a column inside the Category group next to the Total column, format the text box to show percentage, and add an expression that uses the default scope in the numerator, and the Category group scope in the denominator, as shown in the following example.

    =SUM(Fields!Linetotal.Value)/SUM(Fields! Linetotal.Value,"Category")

    Pour plus d’informations, consultez Étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports et SSRS).For more information, see Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS).

Ajout d'un groupe adjacent à une matriceAdding an Adjacent Group to a Matrix

Pour ajouter un groupe adjacent selon un champ de dataset unique, utilisez le menu contextuel du volet de regroupement.To add an adjacent group based on a single dataset field, use the shortcut menu in the Grouping pane. Pour plus d’informations, consultez Ajouter ou supprimer un groupe dans une région de données (Générateur de rapports et SSRS).For more information, see Add or Delete a Group in a Data Region (Report Builder and SSRS). L'illustration suivante présente un groupe basé sur la géographie et un groupe adjacent basé sur l'année.The following figure shows a group based on geography and an adjacent group based on year.

Groupes de colonnes adjacents pour Geography et YearAdjacent Column Groups for Geography and Year

Dans cet exemple, la requête a filtré des valeurs de données de sorte à inclure uniquement les valeurs pour l'Europe et correspondant aux années 2003 et 2004.In this example, the query has filtered data values to only include those values for Europe and for the years 2003 and 2004. Toutefois, vous pouvez définir des filtres sur chaque de groupe indépendamment.However, you can set filters on each group independently. Dans l'aperçu, le rapport s'affiche comme illustré ci-dessous.In preview, the report displays as in the following figure.

Aperçu de groupes de colonnes adjacentsPreview of adjacent column groups

Pour ajouter une colonne de total à un groupe de colonnes adjacent, cliquez dans la cellule de définition du groupe de colonnes et utilisez la commande Ajouter un total .To add a total column for an adjacent column group, click in the column group definition cell and use the Add Total command. Une nouvelle colonne statique est ajoutée à côté du groupe de colonnes, avec une somme agrégée par défaut pour chaque champ numérique des lignes existantes.A new static column is added next to the column group, with a default aggregate sum for every numeric field in the existing rows. Pour modifier l'expression, modifiez manuellement l'agrégat par défaut, par exemple, Avg([Sales]).To change the expression, manually edit the default aggregate, for example, Avg([Sales]). Pour plus d’informations, consultez Ajouter un total à un groupe ou à une région de données de tableau matriciel (Générateur de rapports et SSRS).For more information, see Add a Total to a Group or Tablix Data Region (Report Builder and SSRS).

Voir aussiSee Also

Informations de référence sur les fonctions d’agrégation (Générateur de rapports et SSRS) Aggregate Functions Reference (Report Builder and SSRS)
Exemples d’expressions (Générateur de rapports et SSRS)Expression Examples (Report Builder and SSRS)