Utilisation d'expressions (Générateur de rapports version 2.0)

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 peuvent être simples ou complexes. Les expressions simples contiennent une référence à un champ de dataset, paramètre ou champ intégré unique. Les expressions complexes peuvent contenir plusieurs références intégrées, opérateurs et appels de fonction. Par exemple, une expression complexe peut inclure la fonction Sum appliquée au champ Sales.

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 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 la Boîte de dialogue Propriétés de l'espace réservé, Général (Générateur de rapports version 2.0).

[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 la Boîte de dialogue Propriétés de la zone de texte, Général (Générateur de rapports version 2.0).

[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 la Boîte de dialogue Propriétés de la zone de texte, Général (Générateur de rapports version 2.0).

[&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 la Boîte de dialogue Propriétés de la zone de texte, Général (Générateur de rapports version 2.0).

[@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 la Boîte de dialogue Propriétés du groupe de tableaux matriciels, Général (Générateur de rapports version 2.0).

[Category]

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

Équation de filtre sur le tableau matriciel. Utilisez la Boîte de dialogue Propriétés du tableau matriciel, Filtres (Générateur de rapports version 2.0).

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 la Boîte de dialogue Propriétés du groupe de tableaux matriciels, Filtres (Générateur de rapports version 2.0).

[Category]

=

Clothing

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

Équation de filtre pour un groupe dans un tableau matriciel. Utilisez la Boîte de dialogue Propriétés du tableau matriciel, Filtres (Générateur de rapports version 2.0).

=[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 la Boîte de dialogue Propriétés du tableau matriciel, Tri (Générateur de rapports version 2.0).

[SizeSortOrder]

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

Collection de paramètres sur le dataset. Utilisez la Boîte de dialogue Propriétés du dataset, Paramètres (Générateur de rapports version 2.0).

[@Category]

[@Category]

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

Collection de paramètres sur le sous-rapport. Utilisez la Boîte de dialogue Propriétés du sous-rapport, Paramètres (Générateur de rapports version 2.0).

[@Category]

[@Category]

Pour obtenir d'autres exemples, consultez Exemples d'expressions (Générateur de rapports version 2.0).

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 la Boîte de dialogue Propriétés de l'espace réservé, Général (Générateur de rapports version 2.0).

=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 la Boîte de dialogue Propriétés du tableau matriciel, Filtres (Générateur de rapports version 2.0).

="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 la Boîte de dialogue Propriétés du tableau matriciel, Filtres (Générateur de rapports version 2.0).

=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 la Boîte de dialogue Propriétés de la zone de texte, Police (Générateur de rapports version 2.0).

=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 la Boîte de dialogue Propriétés du rapport, Variables (Générateur de rapports version 2.0).

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 (Générateur de rapports version 2.0).

=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 la Boîte de dialogue Propriétés du tableau matriciel, Filtres (Générateur de rapports version 2.0).

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.

PropriétéHiddensur une zone de texte. Utilisez la Boîte de dialogue Propriétés de la zone de texte, Visibilité (Générateur de rapports version 2.0).

=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 la Boîte de dialogue Propriétés du tableau matriciel, Filtres (Générateur de rapports version 2.0).

="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 la Boîte de dialogue Propriétés de la source de données, Général (Générateur de rapports version 2.0).

="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 la Boîte de dialogue Propriétés du tableau matriciel, Filtres (Générateur de rapports version 2.0).

=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 la Boîte de dialogue Propriétés du groupe de tableaux matriciels, Général (Générateur de rapports version 2.0).

Propriété PageBreak pour le groupe dans le tableau matriciel. Utilisez la Boîte de dialogue Propriétés du groupe de tableaux matriciels, Sauts de page (Générateur de rapports version 2.0). 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 la Boîte de dialogue Propriétés du tableau matriciel, Visibilité (Générateur de rapports version 2.0).

=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 la Boîte de dialogue Propriétés de la zone de texte, Général (Générateur de rapports version 2.0).

=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 la Boîte de dialogue Propriétés de la zone de texte, Général (Générateur de rapports version 2.0).

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

Pour obtenir d'autres exemples, consultez Exemples d'expressions (Générateur de rapports version 2.0).