Expressions dans le Générateur de rapports Power BI
S’APPLIQUE À : Générateur de rapports Power BI Power BI Desktop
Les expressions sont largement utilisées dans les rapports paginés Power BI Report Builder pour récupérer, calculer, afficher, regrouper, trier, filtrer, paramétrer et mettre en forme les données.
De nombreuses propriétés d'élément de rapport peuvent avoir la valeur d'une expression. Les expressions vous aident à contrôler le contenu, la conception et l'interactivité de votre rapport. Les expressions sont écrites en Microsoft Visual Basic, enregistrées dans la définition de rapport et évaluées par le processeur de rapports quand vous exécutez le rapport.
Contrairement aux applications comme Microsoft Excel où vous utilisez les données directement dans une feuille de calcul, dans un rapport, vous utilisez des expressions qui sont des espaces réservés pour les données. Pour consulter les données effectives des expressions évaluées, vous devez afficher un aperçu du rapport. Lorsque vous exécutez le rapport, le processeur de rapports évalue chaque expression au moment de combiner les données de rapport et les éléments de disposition du rapport tels que les tableaux et les graphiques.
Lorsque vous concevez un rapport, de nombreuses expressions relatives aux éléments de rapport sont définies automatiquement. Par exemple, lorsque vous faites glisser un champ du volet de données vers une cellule de tableau sur l'aire de conception du rapport, la zone de texte prend la valeur d'une expression simple pour le champ. Dans la figure suivante, le volet Données de rapport affiche les champs de jeu de données ID, Name, SalesTerritory, Code et Sales. Trois champs ont été ajoutés à la table : [Name]
, [Code]
et [Sales]
. La notation [Name]
sur l’aire de conception représente l’expression sous-jacente =Fields!Name.Value
.
Lorsque vous affichez un aperçu du rapport, le processeur de rapports combine la région de données de table avec les données effectives de la connexion de données, puis affiche une ligne dans la table pour chaque ligne du jeu de résultats.
Pour entrer manuellement des expressions, sélectionnez un élément dans l'aire de conception, puis utilisez les menus contextuels et boîtes de dialogue pour définir les propriétés de l'élément. Quand vous voyez le bouton (fx) ou la valeur <Expression>
dans une liste déroulante, vous savez que vous pouvez définir la propriété avec une expression.
Présentation des expressions simples et complexes
Les expressions commencent par un signe égal (=) et sont écrites en Microsoft Visual Basic. Les expressions peuvent se composer d'une combinaison de constantes, d'opérateurs et de références à des valeurs prédéfinies (champs, collections et fonctions) ainsi qu'à du code externe ou personnalisé.
Vous pouvez utiliser des expressions pour spécifier la valeur de nombreuses propriétés d'élément de rapport. Les propriétés les plus usuelles sont les valeurs des zones de texte et du texte de l'espace réservé. En règle générale, si une zone de texte contient une seule expression, celle-ci représente la valeur de la propriété de la zone de texte. Si une zone de texte contient plusieurs expressions, chaque expression représente la valeur du texte de l'espace réservé dans la zone de texte.
Par défaut, les expressions s’affichent dans l’aire de conception du rapport en tant qu’expressions simples ou complexes.
Simple : une expression simple contient une référence à un seul élément dans une collection prédéfinie, par exemple, un champ de jeu de données, un paramètre ou un champ prédéfini. Sur l'aire de conception, une expression simple apparaît entre parenthèses. Par exemple,
[FieldName]
correspond à l’expression sous-jacente=Fields!FieldName.Value
. Les expressions simples sont créées automatiquement lorsque vous créez la disposition du rapport et que vous faites glisser des éléments du volet Données de rapport vers l’aire de conception. Pour plus d’informations sur les symboles qui représentent les différentes collections prédéfinies, consultez Présentation des symboles de préfixe pour les expressions simples.Complexe : une expression complexe contient des références à plusieurs références, opérateurs et appels de fonction prédéfinis. Une expression complexe apparaît sous la forme
<<Expr>>
quand la valeur de l’expression inclut plusieurs références simples. Pour consulter l'expression, pointez sur cette dernière et utilisez l'info-bulle. Pour modifier l’expression, ouvrez-la dans la boîte de dialogue Expression .
L'illustration suivante montre des expressions simples et complexes classiques pour des zones de texte et du texte d'espace réservé.
Pour afficher des exemples de valeurs à la place du texte pour les expressions, appliquez la mise en forme à la zone de texte ou au texte de l'espace réservé. L'illustration suivante montre l'aire de conception du rapport de manière à afficher les exemples de valeurs :
Présentation des symboles de préfixe dans des expressions simples
Les expressions simples utilisent des symboles pour indiquer si la référence est à un champ, un paramètre, une collection prédéfinie ou la collection ReportItems. Le tableau suivant présente des exemples de texte affiché et de texte d'expression :
Élément | Exemple de texte affiché | Exemple de texte d'expression |
---|---|---|
Champs de dataset | [Sales] [SUM(Sales)] [FIRST(Store)] |
=Fields!Sales.Value =Sum(Fields!Sales.Value) =First(Fields!Store.Value) |
Paramètres du rapport | [@Param] [@Param.Label] |
=Parameters!Param.Value =Parameters!Param.Label |
Champs prédéfinis | [&ReportName] |
=Globals!ReportName.Value |
Caractères littéraux utilisés pour le texte affiché | \[Sales\] |
[Sales] |
Écrire des expressions complexes
Les expressions peuvent inclure des références à des fonctions, des opérateurs, des constantes, des champs, des paramètres, des éléments provenant de collections intégrées, ainsi que des références à du code personnalisé incorporé ou à des assemblys personnalisés.
Le tableau suivant répertorie les types de références que vous pouvez inclure dans une expression :
References | Description | Exemple |
---|---|---|
Constantes | Décrit les constantes auxquelles vous pouvez accéder de manière interactive pour les propriétés qui requièrent des valeurs constantes ; par exemple les couleurs de police. | ="Blue" |
Opérateurs | Décrit les opérateurs que vous pouvez utiliser pour combiner des références dans une expression. Par exemple, l'opérateur et est utilisé pour la concaténation de chaînes. | ="The report ran at: " & Globals!ExecutionTime & "." |
Regroupements intégrés | Décrit les collections intégrées que vous pouvez inclure dans une expression ; par exemple, Fields , Parameters et Variables . |
=Fields!Sales.Value =Parameters!Store.Value =Variables!MyCalculation.Value |
Fonctions d’agrégation et de rapport prédéfinies | Décrit les fonctions intégrées, telles que Sum ou Previous , auxquelles vous pouvez accéder à partir d’une expression. |
=Previous(Sum(Fields!Sales.Value)) |
Références à du code et des assemblys personnalisés dans les expressions dans Report Builder | Décrit comment vous pouvez accéder aux classes CLR prédéfinies xref:System.Math et xref:System.Convert , à d’autres classes CLR, aux fonctions de la bibliothèque runtime Visual Basic ou aux méthodes à partir d’un assembly externe.Explique comment vous pouvez accéder à du code personnalisé qui est incorporé dans votre rapport ou que vous compilez et installez en tant qu'assembly personnalisé à la fois sur le client de rapports et sur le serveur de rapports. |
=Sum(Fields!Sales.Value) =CDate(Fields!SalesDate.Value) =DateAdd("d",3,Fields!BirthDate.Value) =Code.ToUSD(Fields!StandardCost.Value) |
Valider des expressions
Lorsque vous créez une expression pour une propriété d'élément de rapport spécifique, les références que vous pouvez inclure dans l'expression dépendent des valeurs que la propriété d'élément de rapport peut accepter et de l'étendue dans laquelle la propriété est évaluée. Par exemple :
Par défaut, l’expression
[Sum]
calcule la somme des données qui sont dans l’étendue au moment où l’expression est évaluée. Pour une cellule de tableau, l'étendue dépend des membres du groupe de lignes et de colonnes.Pour la valeur d’une propriété de police, la valeur doit correspondre au nom d’une police.
La syntaxe de l'expression est validée au moment du design. La validation de l'étendue de l'expression se produit lorsque vous publiez le rapport. Lorsque la validation dépend des données effectives, les erreurs ne peuvent être détectées qu'au moment de l'exécution. Certaines de ces expressions produisent #Error comme message d’erreur dans le rapport rendu.