Calcul de champs dans les rapports
Vous pouvez utiliser le Générateur de rapports pour créer des champs dans votre rapport qui n'existent pas dans la source de données. Ceci est utile si vous souhaitez créer un champ dynamique qui dépend d'autres attributs dans la source de données. Pour créer un champ dynamique, vous pouvez utiliser une expression C# pour utiliser les types de champ de chaîne, date ou numérique.
Vous pouvez créer des champs calculés de deux façons dans le Générateur de rapports. La première méthode consiste à ajouter une zone de texte dans le rapport et à y entrer une expression qui sera exécutée au moment de la génération du rapport. Les étapes de cette méthode sont décrites ci-dessous, ainsi que des exemples d'expression. La deuxième méthode consiste à ajouter un champ Calculé non lié au rapport. Ceci n'est possible que dans l'arborescence de la section du rapport. Cliquez avec le bouton droit sur le noeud Calculé de l'arborescence et choisissez Ajouter. Cette opération crée un champ non lié pouvant être utilisé dans le rapport. L'expression du champ non lié doit être définie dans la propriété Formule du champ. Une fois la formule définie, faites glisser le champ dans la section du rapport où vous souhaitez l'utiliser.
Les champs non liés vous permettent d'utiliser d'autres champs non liés dans la formule. Cela vous permet de créer des champs Résumé qui utilisent des champs non liés pour générer du contenu dynamique dans le rapport.
Vous ne serez pas en mesure d'utiliser des champs calculés non liés pour calculer un résumé statistique qui utilise d'autres résumés statistiques dans la formule.
- Ouvrez un rapport dans le Concepteur de rapports.
- Dans la liste Eléments de conception, cliquez sur Zone de texte et faites glisser l'élément à l'emplacement souhaité sur la mise en page de rapport.
-
Entrez une expression dans la zone Champ de données de la grille Propriétés. Les expressions commencent toujours par un signal égal (=).
Mathématique
=Quantité + 5
=Quantité - 3
= Diamètre * 3,14
=Population / Superficie
=(double)System.Math.Round(CostPerUnit*Inventory)
Pour plus d'informations sur les fonctions mathématiques prises en charge, reportez-vous à la rubrique Aide MSDN pour la classe mathématique.
Conditions
=(ValueField == 1)?"One":"Not One"
=(Price < 10)?"Clearance":"Price-Change"
=(SoilType == System.DBNull.Value) ? "No soil type specified" : SoilType
Date/heure
=System.DateTime.Now.ToString()
=System.DateTime.UtcNow.ToString()
Pour plus d'informations sur les fonctions date/heure prises en charge, reportez-vous à la rubrique Aide MSDN pour la structure DateTime.
Concaténé
="Average Cost: " + avgCostField
=ZipCode + ZipCode4Digit
Chaîne
=Name.Substring(0,4)
=Name.Replace("Test", "Final")
=Name.ToUpper()
Pour plus d'informations sur les fonctions de chaîne prises en charge, reportez-vous à la rubrique Aide MSDN pour la classe de chaînes.
- Cliquez sur Exécuter le rapport pour voir un aperçu.