Partager via


Fonction Sum (Générateur de rapports et SSRS)

Retourne la somme de toutes les valeurs numériques non Null spécifiées par l'expression, évaluée dans l'étendue donnée.

[!REMARQUE]

Vous pouvez créer et modifier des définitions de rapport (.rdl) dans le Générateur de rapports et dans le Concepteur de rapports dans SQL Server Data Tools. Chaque environnement de création offre différentes possibilités pour créer, ouvrir et enregistrer des rapports et des éléments connexes. Pour plus d'informations, consultez Conception de rapports dans le Concepteur de rapports et le Générateur de rapports (SSRS) sur le site Web Microsoft.

Syntaxe

Sum(expression, scope, recursive)

Paramètres

  • expression
    (Integer ou Float) Expression sur laquelle effectuer l'agrégation.

  • scope
    (String) Facultatif. Nom d'un dataset, d'un groupe ou d'une région de données qui contient les éléments de rapport auxquels appliquer la fonction d'agrégation. Si le paramètre scope n'est pas spécifié, l'étendue actuelle est utilisée.

  • recursive
    (Type énuméré) Facultatif. Simple (par défaut) ou RdlRecursive. Indique s'il faut effectuer l'agrégation de manière récursive.

Type de valeur retournée

Retourne une valeur Decimal pour les expressions décimales et une valeur Double pour toutes les autres expressions.

Notes

Le jeu de données spécifié dans l'expression doit avoir le même type de données. Pour convertir des données qui ont plusieurs types de données numériques en un même type de données, utilisez des fonctions de conversion telles que CInt, CDbl ou CDec. Pour plus d'informations, consultez Fonctions de conversion de types de données.

La valeur du paramètre scope doit être une constante de chaîne et ne peut pas être une expression. Pour les agrégats externes ou les agrégats qui ne spécifient pas d'autres agrégats, le paramètre scope doit faire référence à l'étendue actuelle ou à une étendue contenante. Pour les agrégats d'agrégats, les agrégats imbriqués peuvent spécifier une étendue enfant.

Expression peut contenir des appels aux fonctions d'agrégation imbriquées avec les exceptions et conditions suivantes :

  • Le paramètre Scope des agrégats imbriqués doit être identique à l'étendue de l'agrégat externe ou contenu par celle-ci. Pour toutes les étendues distinctes de l'expression, une étendue doit figurer dans une relation enfant avec toutes les autres étendues.

  • Le paramètre Scope des agrégats imbriqués ne peut pas être le nom d'un dataset.

  • Expression ne doit pas contenir les fonctions First, Last, Previous ou RunningValue.

  • Expression ne doit pas contenir les agrégats imbriqués qui spécifient recursive.

Pour plus d'informations, consultez Référence aux fonctions d'agrégation (Générateur de rapports et SSRS) et Étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports et SSRS).

Pour plus d'informations sur les agrégats récursifs, consultez Création de groupes de hiérarchies récursives (Générateur de rapports et SSRS).

Exemple

Les deux exemples de code ci-dessous fournissent une somme des totaux d'articles dans le groupe ou la région de données Order.

=Sum(Fields!LineTotal.Value, "Order")
' or 
=Sum(CDbl(Fields!LineTotal.Value), "Order")

Dans une région de données de matrice avec les groupes de lignes imbriqués Catégorie et Sous-catégorie et les groupes de colonnes imbriqués Année et Trimestre, dans une cellule qui appartient aux groupes de lignes et de colonnes les plus profonds, l'expression suivante correspond à la valeur maximale de tous les trimestres pour toutes les sous-catégories.

=Max(Sum(Fields!Sales.Value))

Voir aussi

Référence

Exemples d'expressions (Générateur de rapports et SSRS)

Concepts

Utilisation d'expressions dans les rapports (Générateur de rapport et SSRS)

Types de données dans les expressions (Générateur de rapports et SSRS)

Étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports et SSRS)