Partager via


Utilisation de références à des collections de variables de rapport et de groupe dans les expressions (Reporting Services)

Lorsqu'un calcul complexe est utilisé plusieurs fois dans les expressions d'un rapport, vous pouvez créer une variable. Vous pouvez créer une variable de rapport ou une variable de groupe. Une variable de rapport est définie une fois et peut être utilisée dans les expressions de l'ensemble d'un rapport. Une variable de groupe est définie une fois par valeur de groupe unique et peut être utilisée dans les expressions au niveau actuel ou inférieur dans la hiérarchie du groupe.

Variables de rapport

Utilisez une variable de rapport pour contenir une valeur dans le cadre de calculs qui dépendent du temps, tels que les taux de change ou horodatages, ou pour un calcul complexe évalué une fois. Dans la mesure où les expressions dans les zones de texte sont évaluées à la demande lorsqu'un utilisateur navigue parmi les pages d'un rapport, les valeurs dynamiques (par exemple, une expression qui inclut Now(), une fonction qui retourne l'heure du jour) peuvent retourner des valeurs différentes si vous consultez une page, consultez la page suivante, puis retournez à la première page à l'aide du bouton Précédent. En définissant la valeur d'une variable de rapport avec l'expression =Now(), puis en ajoutant la variable à votre expression, vous garantissez que la même valeur est utilisée dans l'intégralité du traitement des rapports. Une variable de rapport peut être référencée dans n'importe quelle expression d'un rapport.

Pour ajouter une variable de rapport, ouvrez la boîte de dialogue Propriétés du rapport, cliquez sur Variables, puis indiquez un nom et une valeur. La valeur d'une variable de rapport est définie une fois, puis reste inchangée pendant le traitement des rapports.

Pour faire référence à la variable dans une expression, utilisez la syntaxe de collection globale, par exemple =Variables!CustomTimeStamp.Value. Sur l'aire de conception, la valeur s'affiche dans une zone de texte sous la forme <<Expr>>.

Variables de groupe

Utilisez une variable de groupe pour calculer une valeur dans l'étendue d'un groupe. Une variable de groupe est valide uniquement dans l'étendue du groupe et ses groupes enfants.

Par exemple, supposez qu'une région de données affiche des données d'inventaire pour des éléments qui sont dans différentes catégories d'impôts et que vous souhaitez appliquer différents taux de taxe pour chaque catégorie. Vous regroupez les données en fonction des catégories et définissez une variable Tax sur le groupe parent. Vous définissez une variable de groupe pour ItemTax pour chaque catégorie d'impôts et affectez chacun des différents sous-groupes de catégories à la variable de groupe correcte. Par exemple :

  • Pour le groupe parent basé sur [Category], affectez à la variable Tax la valeur [Tax]. Supposez que les valeurs des catégories sont Food et Clothing.

  • Pour le groupe enfant basé sur [Subcategory], affectez à la variable ItemsTax la valeur =Variables!Tax.Value * Sum(Fields!Price.Value). Supposez que les valeurs des sous-catégories pour la catégorie Food sont Beverages et Bread. Supposez que les valeurs des sous-catégories pour Clothing sont Shirts et Hats.

  • Pour une zone de texte d'une ligne située dans le groupe enfant, ajoutez l'expression =Variables!ItemsTax.Value.

    La zone de texte affiche l'impôt total pour Beverages et Bread à l'aide de l'impôt de la catégorie Food, et pour Shirts et Hats à l'aide de l'impôt de la catégorie Clothing.

Pour ajouter une variable de groupe, ouvrez la boîte de dialogue Propriétés du groupe de tableaux matriciels, cliquez sur Variables, puis indiquez un nom et une valeur. La variable de groupe est calculée une fois par valeur de groupe unique.

Pour faire référence à la variable dans une expression, utilisez la syntaxe de collection globale, par exemple =Variables!GroupDescription.Value. Sur l'aire de conception, la valeur s'affiche dans une zone de texte sous la forme <<Expr>>.

Vous pouvez également utiliser une variable de groupe associée à du code personnalisé pour personnaliser un calcul d'agrégats. Pour plus d'informations, consultez Using Group Variables in Reporting Services 2008 for Custom Aggregation (en anglais) et Calcul de totaux et autres agrégats (Reporting Services).

Historique des modifications

Mise à jour du contenu

Ajout d'un lien vers un exemple d'ajout d'une agrégation personnalisée à l'aide de variables de groupe et de code personnalisé.