Partager via


Fonction d’agrégation (Générateur de rapports et SSRS)

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

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 façons de créer, d’ouvrir et d’enregistrer des rapports et des éléments associés. Pour plus d’informations, consultez Conception de rapports dans le Concepteur de rapports et le Générateur de rapports (SSRS) sur le web à microsoft.com.

Syntaxe

  
Aggregate(expression, scope)  

Paramètres

expression
Expression sur laquelle effectuer l'agrégation. Elle doit être une référence de champ simple.

étendue
(String) Nom d’un jeu de données, 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. L’étendue doit être une constante de chaîne et ne pas être une expression. Si le paramètre scope n'est pas spécifié, l'étendue actuelle est utilisée.

Type renvoyé

Le type de retour est déterminé par le fournisseur de données. Retourne Nothing si le fournisseur de données ne prend pas en charge cette fonction ou si les données ne sont pas disponibles.

Remarques

La Aggregate fonction permet d’utiliser des agrégats calculés sur la source de données externe. La prise en charge de cette fonctionnalité est déterminée par l'extension de données. Par exemple, l'extension pour le traitement des données SQL Server Analysis Services récupère des ensembles de lignes aplatis d'une requête MDX. Certaines lignes du jeu de résultats peuvent contenir des valeurs d'agrégation calculées sur le serveur de la source de données. Elles sont connues sous le nom d' agrégats de serveur. Pour afficher les agrégats de serveur dans le concepteur de requêtes graphique pour Analysis Services, vous pouvez utiliser le bouton Afficher les agrégations dans la barre d'outils. Pour plus d’informations, consultez Interface utilisateur du Concepteur de requêtes MDX Analysis Services (Générateur de rapports).

Lorsque vous affichez la combinaison des valeurs d'agrégation et de dataset détaillées sur les lignes de détails d'une région de données d'un tableau matriciel, les agrégats de serveur ne sont en général pas inclus, car il ne s'agit pas de données de détail. Toutefois, vous pouvez afficher toutes les valeurs récupérées pour le dataset et personnaliser la façon dont les données d'agrégation sont calculées et affichées.

Reporting Services détecte l’utilisation de la Aggregate fonction dans les expressions de votre rapport afin de déterminer s’il faut afficher les agrégats de serveur sur les lignes de détail. Si vous incluez Aggregate dans une expression dans une région de données, les agrégats de serveurs ne peuvent apparaître que sur le total de groupe ou le total général des lignes, et non sur les lignes de détail. Si vous souhaitez afficher les agrégats de serveur sur les lignes de détail, n’utilisez pas la Aggregate fonction.

Vous pouvez modifier ce comportement par défaut en changeant la valeur de l'option Interpréter les sous-totaux comme des lignes de détails dans la boîte de dialogue Propriétés du dataset . Lorsque cette option est définie Truesur , toutes les données, y compris les agrégats de serveur, apparaissent sous forme de données détaillées. Lorsque la valeur est définie False, les agrégats de serveur apparaissent sous forme de totaux. Le paramètre de cette propriété affecte toutes les régions de données liées à ce dataset.

Remarque

Tous les groupes contenant l'élément de rapport qui font référence à Aggregate doivent avoir des références de champ simples pour leurs expressions de groupe, par exemple [FieldName]. Vous ne pouvez pas utiliser Aggregate dans une région de données qui utilise des expressions de groupe complexes. Pour l’extension de traitement des données SQL ServerAnalysis Services, votre requête doit inclure des champs MDX de type LevelProperty (et non MemberProperty) pour prendre en charge l’agrégation à l’aide de la Aggregatefonction.

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

  • Le paramètreScope 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ètreScope des agrégats imbriqués ne peut pas être le nom d'un dataset.

  • L’expression ne doit pas contenirFirst, Lastou PreviousRunningValue les fonctions.

  • 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).

Comparaison des fonctions Aggregate et Sum

La Aggregate fonction diffère des fonctions d’agrégation numériques comme Sum dans la mesure où la Aggregate fonction retourne une valeur calculée par le fournisseur de données ou l’extension de traitement des données. Les fonctions d’agrégation numériques comme Sum retournent une valeur calculée par le processeur de rapports sur un ensemble de données défini par le paramètre d’étendue. Pour plus d’informations, consultez les expressions d’agrégation répertoriées dans Référence aux fonctions d’agrégation (Générateur de rapports et SSRS).

Exemple :

L'exemple de code suivant affiche une expression qui récupère un agrégat de serveur pour le champ LineTotal. L'expression est ajoutée à une cellule d'une ligne qui appartient au groupe GroupbyOrder.

=Aggregate(Fields!LineTotal.Value, "GroupbyOrder")  

Voir aussi

Utilisation d'expressions dans les rapports (Générateur de rapport et SSRS)
Exemples d'expressions (Générateur de rapports 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)