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. |
Retour 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.
Retour 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.
Retour 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. |
Retour 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. |
Retour 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. |
Retour 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. |
Retour 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. |
Retour 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. |
Retour 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. |
Retour au début