Partager via


Fonctions du Générateur de rapports - Informations de référence sur les fonctions d’agrégation dans les rapports paginés (Générateur de rapports)

S’applique à : Générateur de rapports Microsoft (SSRS) Power BI Report Builder Report Designer dans SQL Server Data Tools

Pour inclure des valeurs agrégées dans votre rapport paginé, vous pouvez utiliser des fonctions d’agrégation intégrées dans des expressions. La fonction d'agrégation par défaut pour les champs de type numérique est SUM. Vous pouvez modifier l'expression et utiliser une fonction d'agrégation intégrée différente ou spécifier une étendue différente. L'étendue identifie le jeu de données à utiliser pour le calcul.

Les expressions de chaque élément de rapport sont évaluées à mesure que le processeur de rapports combine des données de rapport et la disposition de rapport. Lorsque vous consultez une page du rapport, vous affichez les résultats de chaque expression dans les éléments de rapport rendus.

Le tableau suivant répertorie les catégories de fonctions intégrées que vous pouvez inclure dans une expression :

Pour déterminer les étendues valides pour une fonction, consultez la rubrique de référence à la fonction en question Pour plus d’informations et pour obtenir des exemples, consultez Étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports et SSRS).

Notes

Il est possible de créer et de modifier des fichiers de définition de rapports (.rdl) paginés dans le Générateur de rapports Microsoft, dans Power BI Report Builder et dans le Concepteur de rapports de SQL Server Data Tools.

Fonctions d'agrégation intégrées

Les fonctions intégrées suivantes calculent des valeurs résumées pour un jeu de données numériques non Null dans l'étendue par défaut ou l'étendue nommée.

Fonction Description
Avg Retourne la moyenne de toutes les valeurs numériques non Null spécifiées par l'expression, évaluée dans l'étendue donnée.
Count Retourne le nombre de valeurs non Null spécifiées par l'expression, évaluée dans le contexte de l'étendue donnée.
CountDistinct Retourne le nombre de toutes les valeurs non Null distinctes spécifiées par l'expression, évaluée dans le contexte de l'étendue donnée.
Max Retourne la valeur maximale de toutes les valeurs numériques non Null spécifiées par l'expression, dans le contexte de l'étendue donnée. Vous pouvez utiliser cette fonction pour spécifier une valeur maximale d'axe de graphique afin de contrôler l'échelle.
Min Retourne la valeur minimale de toutes les valeurs numériques non Null spécifiées par l'expression, dans le contexte de l'étendue donnée. Vous pouvez utiliser cette fonction pour spécifier une valeur minimale d'axe de graphique afin de contrôler l'échelle.
StDev Retourne l'écart type de toutes les valeurs numériques non Null spécifiées par l'expression, évaluée dans l'étendue donnée.
StDevP Retourne l'écart type de remplissage de toutes les valeurs numériques non Null spécifiées par l'expression, évaluée dans le contexte de l'étendue donnée.
Sum Retourne la somme de toutes les valeurs numériques non Null spécifiées par l'expression, évaluée dans l'étendue donnée.
Union Retourne l’union de toutes les valeurs de données spatiales non Null du type SqlGeometry ou SqlGeography spécifiées par l’expression, évaluée dans l’étendue donnée.
Var Retourne la variance de toutes les valeurs numériques non Null spécifiées par l'expression, évaluée dans l'étendue donnée.
VarP Retourne la variance de remplissage de toutes les valeurs numériques non Null spécifiées par l'expression, évaluée dans le contexte de l'étendue donnée.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Restrictions sur les champs prédéfinis, les collections et les fonctions d'agrégation

Le tableau suivant résume les restrictions dans les emplacements de rapport où vous pouvez ajouter des expressions qui contiennent des références aux collections intégrées globales.

Emplacement dans le rapport Champs Paramètres ReportItems PageNumber

TotalPages
DataSource

DataSet
Variables RenderFormat
En-tête de page

Pied de page
Oui Oui Un au plus

Remarque 1
Oui Oui Oui Oui
body Oui

Remarque 2
Oui Seuls les éléments dans l’étendue active ou une étendue contenante

Remarque 3
Non Oui Oui Oui
Paramètre de rapport Non Seuls les premiers paramètres dans la liste

Remarque 4
Non Non Non Non Non
Champ Oui Oui No Non Non Non Non
Paramètre de requête Non Oui No Non Non Non Non
Expression de groupe Oui Oui No Non Oui No Non
Expression de tri Oui Oui No Non Oui Oui

Remarque 5
Non
Expression de filtre Oui Oui No Non Oui Oui

Remarque 6
Non
Code Non Oui

Remarque 7
Non Non Non Non Non
Report.Language Non Oui No Non Non Non Non
Variables Oui Oui No Non Oui Étendue active ou contenante Non
Agrégats Oui Oui Uniquement dans l'en-tête de page/le pied de page Uniquement dans les agrégats d'élément de rapport Oui No Non
Fonctions de recherche Oui Oui Oui No Oui No Non
  • Remarque 1. ReportItems doit exister dans la page de rapport rendue, sinon sa valeur est Null. Si la visibilité d'un élément de rapport dépend d'une expression qui prend la valeur False, l'élément de rapport n'existe pas dans la page.

  • Remarque 2. Si une référence de champ est utilisée dans une étendue de groupe et que cette référence n'est pas incluse dans l'expression de groupe, la valeur du champ n'est pas définie, sauf s'il existe une seule valeur dans l'étendue. Pour spécifier une valeur, utilisez la fonction First ou Last et l'étendue du groupe.

  • Remarque 3. Les expressions qui incluent une référence à ReportItems peuvent spécifier des valeurs pour d'autres éléments ReportItems dans la même étendue de groupe ou dans une étendue de groupe contenante.

  • Remarque 4. Les valeurs de propriété des premiers paramètres peuvent être Null.

  • Remarque 5. Dans les tris Membres uniquement. Utilisation impossible dans les expressions de tri de la région de données.

  • Remarque 6. Dans les filtres Membres uniquement. Utilisation impossible dans la région de données ou les expressions de filtre de dataset.

  • Remarque 7. La collection Parameters n'est pas initialisée tant que le bloc de code n'a pas été traité afin que les méthodes ne puissent pas être utilisées pour contrôler des paramètres lors de l'initialisation.

  • Remarque 8. Le type de données de tous les agrégats à l'exception de Count et CountDistinct doit être le même, ou Null, pour toutes les valeurs.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Restrictions concernant les agrégats imbriqués

Le tableau suivant résume les restrictions concernant les fonctions d'agrégation qui peuvent spécifier d'autres fonctions d'agrégation comme agrégats imbriqués.

Context RunningValue RowNumber Premier

Dernier
Previous Sum et autres fonctions Presort Agrégats ReportItem Fonctions de recherche Fonction d'agrégation
Valeur d'exécution Non Non Non Non Oui No Oui Non
Premier

Dernier
Non Non Non Non Oui No Non Non
Previous Oui Oui Oui No Oui No Oui Non
Sum et autres fonctions Presort Non Non Non Non Oui No Oui Non
Agrégats ReportItem Non Non Non Non Non Non Non Non
Fonctions de recherche Oui Oui

Remarque 1
Oui

Remarque 1
Oui

Remarque 1
Oui

Remarque 1
Oui

Remarque 1
Non Non
Fonction d'agrégation Non Non Non Non Non Non Non Non
  • Remarque 1. Les fonctions d’agrégation sont autorisées uniquement à l’intérieur de l’expression Source d’une fonction Lookup si cette dernière n’est pas contenue dans un agrégat. Les fonctions d'agrégation ne sont pas autorisées à l'intérieur des expressions Destination ou Result d'une fonction Lookup.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Calcul de valeurs d'exécution

Les fonctions intégrées suivantes calculent des valeurs d'exécution pour un jeu de données. RowNumber est semblable à RunningValue en ce sens qu'il retourne la valeur d'exécution d'un nombre qui s'incrémente pour chaque ligne de l'étendue contenante. Le paramètre d'étendue de ces fonctions doit spécifier une étendue contenante, laquelle contrôle le moment où le nombre redémarre.

Fonction Description
RowNumber Retourne un nombre évolutif du nombre de lignes pour l'étendue spécifiée. La fonction RowNumber redémarre le comptage à 1, et non à 0.
RunningValue Retourne un agrégat cumulé de toutes les valeurs numériques non Null spécifiées par l'expression, évaluée pour l'étendue donnée.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Récupération de nombres de lignes

La fonction intégrée suivante calcule le nombre de lignes d'une étendue donnée. Utilisez-la pour compter toutes les lignes, y compris celles contenant des valeurs Null.

Fonction Description
CountRows Retourne le nombre de lignes dans l'étendue spécifiée, y compris celles contenant des valeurs Null.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Recherche de valeurs d'un autre dataset

Les fonctions de recherche suivantes récupèrent des valeurs à partir d'un dataset spécifié.

Fonction Description
Fonction Lookup Retourne une valeur à partir d'un dataset pour une expression spécifiée.
LookupSet, fonction Retourne un ensemble de valeurs à partir d'un dataset pour une expression spécifiée.
Multilookup, fonction Retourne le jeu de valeurs de première correspondance pour un ensemble de noms à partir d'un dataset contenant des paires nom/valeur.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Récupération de valeurs dépendantes du tri

Les fonctions intégrées suivantes retournent la première valeur, la dernière valeur ou la valeur précédente dans une étendue donnée. Ces fonctions dépendent de l'ordre de tri des valeurs de données. Utilisez ces fonctions pour, par exemple, rechercher les première et dernière valeurs d'une page afin de créer un en-tête de page de type dictionnaire. Utilisez Previous pour comparer une valeur d'une ligne avec la valeur de la ligne précédente dans une étendue spécifique pour, par exemple, rechercher des valeurs d'une année sur l'autre en pourcentage dans une table.

Fonction Description
First Retourne la première valeur dans l'étendue donnée de l'expression spécifiée.
Dernière Retourne la dernière valeur dans l'étendue donnée de l'expression spécifiée.
Précédent Retourne la valeur ou la valeur d'agrégation spécifiée pour l'instance précédente d'un élément dans l'étendue spécifiée.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Récupération d'agrégats de serveurs

La fonction intégrée suivante récupère des agrégats personnalisés du fournisseur de données. Par exemple, avec un type de source de données Analysis Services, vous pouvez extraire des agrégats calculés sur le serveur de source de données en vue de les utiliser dans un en-tête de groupe.

Fonction Description
Agrégat Retourne un agrégat personnalisé de l'expression spécifiée, comme défini par le fournisseur de données.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Test de l'étendue

La fonction intégrée suivante teste le contexte actuel d'un élément de rapport pour voir s'il est membre d'une étendue spécifique.

Fonction Description
InScope Indique si l'instance active d'un élément se trouve dans l'étendue spécifiée.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Récupération du niveau récursif

La fonction intégrée suivante récupère le niveau actuel lorsqu'une hiérarchie récursive est traitée. Utilisez le résultat de cette fonction avec la propriété Padding dans une zone de texte pour contrôler le niveau de retrait d'une hiérarchie visuelle pour un groupe récursif. Pour plus d’informations, consultez Création de groupes de hiérarchies récursives (Générateur de rapports et SSRS).

Fonction Description
Niveau Retourne le niveau de profondeur actuel d'une hiérarchie récursive.

Icône de flèche utilisée avec le lien Retour au débutRetour au début