Fonction Avg (Générateur de rapports version 3.0 et SSRS)

Retourne la moyenne 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

Avg(expression, scope, recursive)

Paramètres

  • expression
    (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 la moyenne de toutes les valeurs du champ Cost contenu dans un dataset nommé Inventory.

=Avg(Fields!Cost.Value, "Inventory") 
  OR  
=Avg (CDbl(Fields!Cost.Value), "Inventory")