Utilisation d'expressions (Reporting Services)

Dans Reporting Services, les expressions sont utilisées dans la définition de rapport pour spécifier ou calculer les valeurs des paramètres, requêtes, filtres, propriétés d'élément de rapport, définitions de groupe et de tri, propriétés de zone de texte, signets, explorateurs de documents, contenu d'en-tête et de pied de page dynamique, images et définitions de source de données dynamiques. Cette rubrique fournit des exemples des nombreux emplacements où vous pouvez utiliser des expressions pour varier le contenu ou l'apparence d'un rapport. Cette liste n'est pas exhaustive. Vous pouvez définir une expression pour toute propriété dans une boîte de dialogue qui affiche le bouton d'expression (fx) ou dans une liste déroulante qui affiche <Expression...>.

Les expressions sont écrites en MicrosoftVisual Basic. Une expression commence par un signe égal (=) suivi d'une combinaison de références à des collections intégrées, telles que des paramètres et champs de dataset, constantes, fonctions et opérateurs.

Utilisation d'expressions simples

Les expressions simples contiennent une référence à un champ de dataset, paramètre ou champ intégré unique. Les expressions simples apparaissent entre crochets sur l'aire de conception et dans les boîtes de dialogue ; par exemple, un champ de dataset apparaît comme [ProductID]. Elles sont créées automatiquement lorsque vous faites glisser un champ d'un dataset vers une zone de texte. Un espace réservé est créé et l'expression définit la valeur sous-jacente. Vous pouvez également taper les expressions directement dans une cellule de région de données ou zone de texte sur l'aire de conception ou dans une boîte de dialogue (par exemple, [ProductID]).

Le tableau suivant répertorie des exemples d'utilisations des expressions simples. Le tableau décrit la fonctionnalité, la propriété à définir, la boîte de dialogue utilisée en général pour la définir et la valeur de la propriété. Vous pouvez taper l'expression simple directement sur l'aire de conception, dans une boîte de dialogue ou dans le volet Propriétés, ou vous pouvez la modifier dans la boîte de dialogue Expression, comme vous le feriez avec toute expression.

Fonctionnalité

Propriété, contexte et boîte de dialogue

Valeur de propriété

Spécifier un champ de dataset à afficher dans une zone de texte.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte. Utilisez Boîte de dialogue Propriétés de l'espace réservé, Général.

[Sales]

Agréger des valeurs pour un groupe.

Propriété Value pour un espace réservé à l'intérieur d'une ligne associée à un groupe de tableaux matriciels. Utilisez Boîte de dialogue Propriétés de la zone de texte, Général.

[Sum(Sales)]

Inclure un numéro de page.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte placée dans un en-tête de page. Utilisez Boîte de dialogue Propriétés de la zone de texte, Général.

[&PageNumber]

Afficher une valeur de paramètre sélectionnée.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte sur l'aire de conception. Utilisez Boîte de dialogue Propriétés de la zone de texte, Général.

[@SalesThreshold]

Spécifier une définition de groupe pour une région de données.

Expression de groupe sur le groupe de tableaux matriciels. Utilisez Boîte de dialogue Propriétés du groupe de tableaux matriciels, Général.

[Category]

Exclure une valeur de champ spécifique d'une table.

Équation de filtre sur le tableau matriciel. Utilisez Boîte de dialogue Propriétés du tableau matriciel, Filtres.

Pour le type de données, sélectionnez Entier.

[Quantity]

>

100

Inclure uniquement une valeur spécifique pour un filtre de groupe.

Équation de filtre sur le groupe de tableaux matriciels. Utilisez Boîte de dialogue Propriétés du groupe de tableaux matriciels, Filtres.

[Category]

=

Clothing

Exclure des valeurs spécifiques pour plusieurs champs d'un dataset.

Équation de filtre pour un groupe dans un tableau matriciel. Utilisez Boîte de dialogue Propriétés du tableau matriciel, Filtres.

=[Color]

<>

Red

=[Color]

<>

Blue

Spécifier l'ordre de tri selon un champ existant dans une table.

Expression de tri sur le tableau matriciel. Utilisez Boîte de dialogue Propriétés du tableau matriciel, Tri.

[SizeSortOrder]

Lier un paramètre de requête à un paramètre de rapport.

Collection de paramètres sur le dataset. Utilisez Boîte de dialogue Propriétés du dataset, Paramètres.

[@Category]

[@Category]

Transmettre un paramètre d'un rapport principal à un sous-rapport.

Collection de paramètres sur le sous-rapport. Utilisez Boîte de dialogue Propriétés du sous-rapport, Paramètres.

[@Category]

[@Category]

Pour obtenir d'autres exemples, consultez Exemples d'expressions (Reporting Services).

Utilisation d'expressions complexes

Les expressions complexes peuvent contenir plusieurs références intégrées, opérateurs et appels de fonction, et apparaissent sur l'aire de conception comme <<Expr>>. Pour voir ou modifier le texte de l'expression, vous devez ouvrir la boîte de dialogue Expression ou taper directement dans le volet Propriétés. Le tableau suivant répertorie les utilisations classiques d'une expression complexe pour afficher ou organiser des données, ou modifier l'apparence du rapport, y compris la propriété à définir, la boîte de dialogue utilisée en général pour la définir et la valeur de la propriété. Vous pouvez taper une expression directement dans une boîte de dialogue, sur l'aire de conception ou dans le volet Propriétés.

Fonctionnalité

Propriété, contexte et boîte de dialogue

Valeur de propriété

Calculer les valeurs d'agrégation pour un dataset.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte. Utilisez Boîte de dialogue Propriétés de l'espace réservé, Général.

=First(Fields!Sales.Value,"DataSet1")

Concaténer du texte et des expressions dans la même zone de texte.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte placée dans un en-tête de page ou un pied de page. Utilisez Boîte de dialogue Propriétés du tableau matriciel, Filtres.

="This report began processing at " & Globals!ExecutionTime

Calculer une valeur d'agrégation pour un dataset dans une étendue différente.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte placée dans un groupe de tableaux matriciels. Utilisez Boîte de dialogue Propriétés du tableau matriciel, Filtres.

=Max(Fields!Total.Value,"DataSet2)

Mettre en forme des données dans une zone de texte selon la valeur.

Propriété Color pour un espace réservé à l'intérieur d'une zone de texte sur la ligne Détails pour un tableau matriciel. Utilisez Boîte de dialogue Propriétés de la zone de texte, Police.

=IIF(Fields!TotalDue.Value < 10000,"Red","Black")

Calculer une valeur une fois pour s'y reporter dans tout le rapport.

Propriété Value pour une variable de rapport. Utilisez Boîte de dialogue Propriétés du rapport, Variables.

Pour plus d'informations sur les variables, consultez Utilisation de références à des collections de variables de rapport et de groupe dans les expressions (Reporting Services).

=Variables!MyCalculation.Value

Inclure des valeurs spécifiques pour plusieurs champs d'un dataset.

Équation de filtre pour un groupe dans un tableau matriciel. Utilisez Boîte de dialogue Propriétés du tableau matriciel, Filtres.

Pour le type de données, sélectionnez Booléen.

=IIF(InStr(Fields!Subcat.Value,"Shorts")=0 AND (Fields!Size.Value="M" OR Fields!Size.Value="S"),TRUE, FALSE)

=

TRUE

Masquer une zone de texte sur l'aire de conception, qui peut être activée ou désactivée par l'utilisateur à l'aide d'un paramètre booléen nommé Show.

Hidden Propriétésur une zone de texte. Utilisez Boîte de dialogue Propriétés de la zone de texte, Visibilité.

=Not Parameters!Show<boolean parameter>.Value

Spécifier un contenu dynamique de l'en-tête de page ou du pied de page.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte placée dans l'en-tête de page ou le pied de page. Utilisez Boîte de dialogue Propriétés du tableau matriciel, Filtres.

="Page " & Globals!PageNumber & " of " & Globals!TotalPages

Spécifier une source de données de façon dynamique à l'aide d'un paramètre.

Chaîne de connexion sur la source de données. Utilisez Boîte de dialogue Propriétés de la source de données, Général.

="Data Source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks"

Identifier toutes les valeurs pour un paramètre à valeurs multiples choisi par l'utilisateur.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte. Utilisez Boîte de dialogue Propriétés du tableau matriciel, Filtres.

=Join(Parameters!MyMultivalueParameter.Value,", ")

Spécifier des sauts de page toutes les 20 lignes dans un tableau matriciel sans aucun autre groupe.

Expression de groupe pour un groupe dans un tableau matriciel. Utilisez Boîte de dialogue Propriétés du groupe de tableaux matriciels, Général.

Propriété PageBreak pour le groupe dans le tableau matriciel. Utilisez Boîte de dialogue Propriétés du groupe de tableaux matriciels, Sauts de page. Définissez Entre chaque instance d'un groupe.

=Ceiling(RowNumber(Nothing)/20)

Spécifier une visibilité conditionnelle basée sur un paramètre.

Propriété Hidden pour un tableau matriciel Utilisez Propriétés du tableau matriciel, Visibilité.

=Not Parameters!<boolean parameter>.Value

Spécifier une date mise en forme pour une culture spécifique.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte dans une région de données. Utilisez Boîte de dialogue Propriétés de la zone de texte, Général.

=Fields!OrderDate.Value.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("de-DE"))

Concaténer une chaîne et un nombre mis en forme comme un pourcentage à deux décimales.

Propriété Value pour un espace réservé à l'intérieur d'une zone de texte dans une région de données. Utilisez Boîte de dialogue Propriétés de la zone de texte, Général.

="Growth Percent: " & Format(Fields!Growth.Value,"p2")

Pour obtenir d'autres exemples, consultez Exemples d'expressions (Reporting Services).