Fonction Sum (Générateur de rapports version 3.0 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.

Notes

Vous pouvez créer et modifier des définitions de rapports (.rdl) dans le Générateur de rapports version 3.0 et dans le Concepteur de rapports, dans Business Intelligence Development Studio. 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 version 3.0 (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 version 3.0 et SSRS) et Présentation de l'étendue des expressions pour les totaux, les agrégats et les collections intégrées (Générateur de rapports version 3.0 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 version 3.0 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))