Opérateurs et types de données dans PowerAppsOperators and data types in PowerApps

Certains de ces opérateurs sont dépendants de la langue de l’auteur.Some of these operators are dependent on the language of the author. Pour plus d’informations, consultez la page sur les applications globales.See Global apps for more information.

SymboleSymbol TypeType SyntaxeSyntax DescriptionDescription
.. Sélecteur de propriétéProperty Selector Slider1.Value
Color.Red
Acceleration.X
Slider1.Value
Color.Red
Acceleration.X
Extrait une propriété d’une table, d’un contrôle, d’un signal ou d’une énumération.Extracts a property from a table, control, signal, or enumeration. Pour assurer la compatibilité en amont, le symbole !For backwards compatibility, ! peut également être utilisé.may also be used.
..
[ou , selon la langue][or , depending on the language]
Séparateur décimalDecimal separator 1.231.23
[ou 1,23 selon la langue][or 1,23 depending on the language]
Séparateur entre les parties entières et partielles d’un nombre.Separator between whole and fractional parts of a number. Le caractère dépend de la langue.The character is dependent on the language.
( )( ) ParenthèsesParentheses Filter(T, A < 10)Filter(T, A < 10)

(1 + 2) * 3(1 + 2) * 3
Détermine l’ordre de priorité et les sous-expressions de groupes dans une expression plus longue.Enforces precedence order, and groups sub-expressions in a larger expression
+ Opérateurs arithmétiquesArithmetic operators 1 + 21 + 2 AdditionAddition
-   2 - 12 - 1 Soustraction et signeSubtraction and sign
\*   2 * 32 * 3 MultiplicationMultiplication
/   2 / 32 / 3 Division (voir également la fonction Mod)Division (also see the Mod function)
^   2 ^ 32 ^ 3 Élévation à la puissance, équivalente à la fonction PowerExponentiation, equivalent to the Power function
%   20%20% Pourcentage (équivalent à "* 1/100")Percentage (equivalent to "* 1/100")
= Opérateurs de comparaisonComparison operators Price = 100Price = 100 Égal àEqual to
>   Price > 100Price > 100 Supérieur àGreater than
>=   Price >= 100Price >= 100 Supérieur ou égal àGreater than or equal to
<   Price < 100Price < 100 Inférieur àLess than
<=   Price <= 100Price <= 100 Inférieur ou égal àLess than or equal to
<>   Price <> 100Price <> 100 Différent deNot equal to
& Opérateur de concaténation de chaînesString concatenation operator "hello" & " " & "world""hello" & " " & "world" Permet à plusieurs chaînes d’apparaître en continuMakes multiple strings appear continuous
&& ou And&& or And Opérateurs logiquesLogical operators Price < 100 && Slider1.Value = 20Price < 100 && Slider1.Value = 20
ou Price < 100 And Slider1.Value = 20or Price < 100 And Slider1.Value = 20
Conjonction logique, équivalente à la fonction AndLogical conjunction, equivalent to the And function
|| ou Or|| or Or   Price < 100 || Slider1.Value = 20 ou Price < 100 Or Slider1.Value = 20Price < 100 || Slider1.Value = 20 or Price < 100 Or Slider1.Value = 20 Disjonction logique, équivalente à la fonction OrLogical disjunction, equivalent to the Or function
!! ou Notor Not   !(Price < 100) ou Not (Price < 100)!(Price < 100) or Not (Price < 100) Négation logique, équivalente à la fonction NotLogical negation, equivalent to the Not function
exactinexactin Opérateurs d’appartenanceMembership operators Gallery1.Selected exactin SavedItemsGallery1.Selected exactin SavedItems Appartient à une collection ou à une tableBelonging to a collection or a table
exactinexactin   "Windows" exactin “To display windows in the Windows operating system...”"Windows" exactin “To display windows in the Windows operating system...” Test de la sous-chaîne (sensible à la casse)Substring test (case-sensitive)
inin   Gallery1.Selected in SavedItemsGallery1.Selected in SavedItems Appartient à une collection ou à une tableBelonging to a collection or a table
inin   "The" in "The keyboard and the monitor...""The" in "The keyboard and the monitor..." Test de la sous-chaîne (non sensible à la casse)Substring test (case-insensitive)
@ Opérateur de levée des ambiguïtésDisambiguation operator MyTable[@fieldname]MyTable[@fieldname] Levée des ambiguïtés d’un champField disambiguation
@   [@MyVariable][@MyVariable] Levée des ambiguïtés globaleGlobal disambiguation
,,
[ou ; selon la langue][or ; depending on the language]
Séparateur de listeList separator If( X < 10, "Low", "Good" )If( X < 10, "Low", "Good" )
{ X: 12, Y: 32 }{ X: 12, Y: 32 }
[ 1, 2, 3 ][ 1, 2, 3 ]
[ou If( X < 10; "Low"; "Good" )
{ FirstName: "Jane"; LastName: "Doe" }
[ 1; 2; 3 ]
]
[or If( X < 10; "Low"; "Good" )
{ FirstName: "Jane"; LastName: "Doe" }
[ 1; 2; 3 ]
]
Sépare :Separates: .. Ce caractère dépend de la langue.This characters is dependent on the language.
;;
[ou ;; selon la langue][or ;; depending on the language]
Chaînage de formulesFormula chaining Collect(T, A); Navigate(S1, "")Collect(T, A); Navigate(S1, "")
[ou Collect(T; A);; Navigate(S1; "")][or Collect(T; A);; Navigate(S1; "")]
Appels distincts de fonctions dans les propriétés de comportement.Separate invocations of functions in behavior properties. L’opérateur de chaînage dépend de la langue.The chaining operator is dependent on the language.
ParentParent Opérateur parentParent operator Parent.FillParent.Fill Accès aux propriétés d’un conteneur de contrôle.Access to properties of a control container
ThisItemThisItem Opérateur ThisItemThisItem operator ThisItem.FirstNameThisItem.FirstName Accès aux champs d’un contrôle Gallery ou Form.Access to fields of a Gallery or form control

Opérateurs in et exactinin and exactin operators

Vous pouvez utiliser les opérateurs in et exactin pour rechercher une chaîne dans une source de données, telle qu’une collection ou une table importée.You can use the in and exactin operators to find a string in a data source, such as a collection or an imported table. L’opérateur in identifie les correspondances indépendamment de la casse, tandis que l’opérateur exactin identifie les correspondances uniquement si elles présentent la même casse.The in operator identifies matches regardless of case, and the exactin operator identifies matches only if they're capitalized the same way. Voici un exemple :Here's an example:

  1. Créez ou importez une collection nommée Inventory et affichez-la dans une galerie, comme décrit dans la première sous-procédure dans Show images and text in a gallery (Afficher des images et du texte dans une galerie).Create or import a collection named Inventory, and show it in a gallery, as the first procedure in Show images and text in a gallery describes.
  2. Définissez la propriété Items de la galerie sur la formule suivante :Set the Items property of the gallery to this formula:
    Filter(Inventory, "E" in ProductName)Filter(Inventory, "E" in ProductName)

    La galerie affiche tous les produits sauf Callisto, car le nom de ce produit est le seul qui ne contient pas la lettre que vous avez spécifiée.The gallery shows all products except Callisto because the name of that product is the only one that doesn't contain the letter you specified.

  3. Remplacez la propriété Items de la galerie par cette formule :Change the Items property of the gallery to this formula:
    Filter(Inventory, "E" exactin ProductName)Filter(Inventory, "E" exactin ProductName)

    La galerie affiche uniquement Europa, car ce nom est le seul qui contient la lettre que vous avez spécifiée dans le cas indiqué.The gallery shows only Europa because only its name contains the letter that you specified in the case that you specified.

Opérateur ThisItemThisItem operator

Vous pouvez afficher les données dans les contrôles Gallery, Edit form ou Display form en les liant à une table ou à une collection.You can show data in Gallery, Edit form, or Display form controls by binding it to a table or a collection. Ces contrôles constituent un conteneur pour d’autres cartes et contrôles.These controls are a container for other cards and controls. Chaque carte ou contrôle du conteneur peut accéder aux données liées via l’opérateur ThisItem.Each card or control within the container can access the bound data through the ThisItem operator.

Vous pouvez utiliser l’opérateur ThisItem pour spécifier la colonne de données de chaque carte ou contrôle dans le contrôle externe.You use the ThisItem operator to specify the column of data that each card or control within the outer control. Par exemple, cet opérateur dans la galerie de produit pour Show images and text in a gallery (Afficher des images et du texte dans une galerie) spécifie que le contrôle d’image affiche la conception du produit, que le libellé supérieur affiche le nom du produit et le libellé inférieur, le nombre d’unités en stock.For example, that operator in the product gallery for Show images and text in a gallery specified that the image control showed the product design, the upper label showed the product name, and the lower label showed the number of units in stock.

Pour les galeries imbriquées, ThisItem fait référence aux éléments de la galerie les plus profonds.For nested galleries, ThisItem refers to the innermost gallery's items. En supposant que les champs de ligne des galeries internes et externes n’entrent pas en conflit, vous pouvez également utiliser les noms de champs non qualifiés (colonne) directement.Assuming the row fields in the inner and outer galleries don't conflict, you can also use the unqualified field (column) names directly. Cette approche permet aux règles dans une galerie interne de faire référence à des éléments d’une galerie externe.This approach enables rules in an inner gallery to refer to an outer gallery's items.

Opérateur ParentParent operator

Certains contrôles hébergent d’autres contrôles.Some controls host other controls. Par exemple, les contrôles Screen, Gallery, Card, Edit form et Display form sont tous des conteneurs de contrôles.For example, Screen, Gallery, Card, Edit form, and Display form controls are all containers for controls. Le contrôle hébergeant est appelé « parent » des contrôles qui s’y trouvent.We call the hosting control the "parent" of the controls within.

Tous les contrôles de PowerApps peuvent être référencés par leur nom à partir de n’importe où dans l’application.Any control in PowerApps can be referenced by name from anywhere within the app. Screen1 peut être le nom d’un écran dans votre application.Screen1 may be the name of a screen in your app. Pour récupérer la couleur d’arrière-plan de cet écran, vous pouvez utiliser Screen1.Fill.To retrieve the background color of this screen, you can use Screen1.Fill.

Les contrôles de cet écran ont une autre option.Controls on this screen have another option. Ils peuvent utiliser une référence relative : Parent.Fill.They can use a relative reference: Parent.Fill. L’opérateur Parent fait référence au contrôle qui héberge ce contrôle, en rendant disponibles toutes ses propriétés.The Parent operator refers to the control that hosts this control, making available all of its properties. Le recours à l’opérateur Parent est utile, car il ne dépend pas du nom du contrôle.Using Parent is helpful because it doesn't depend on the name of the control. Vous pouvez copier et coller un contrôle de conteneur sans avoir besoin d’ajuster les références au sein de celui-ci.You can copy and paste a container control without needing to adjust any references within the container. Cet opérateur clarifie également la relation entre les contrôles parent et enfant lors de la lecture des formules.This operator also makes the relationship between child and parent controls clearer when reading formulas.

Opérateur de levée des ambiguïtésDisambiguation operator

Certaines fonctions créent des étendues d’enregistrement pour accéder aux champs de table lors du traitement de chaque enregistrement, telles que Filter, AddColumns et Sum.Some functions create record scopes for accessing the fields of table while processing each record, such as Filter, AddColumns, and Sum. Les noms de champs ajoutés à l’étendue d’enregistrement remplacent les mêmes noms qui se trouvent ailleurs dans l’application.Field names added with the record scope override the same names from elsewhere in the app. Dans ce cas, vous pouvez toujours accéder aux valeurs en dehors de l’étendue d’enregistrement avec l’opérateur de levée d’ambiguïtés @ :When this happens, you can still access values from outside the record scope with the @ disambiguation operator:

  • Pour accéder aux valeurs des étendues d’enregistrements imbriquées, utilisez l’opérateur @ avec le nom du tableau qui est utilisé actuellement à l’aide du modèle Table[@FieldName].To access values from nested record scopes, use the @ operator with the name of the table being operated upon using the pattern Table[@FieldName].
  • Pour accéder à des valeurs globales, telles que les sources de données, les collections et les variables de contexte, utilisez le modèle [@ObjectName]** (sans désignation du tableau).To access global values, such as data sources, collections, and context variables, use the pattern [@ObjectName] (without a table designation).

Pour plus d’informations et d’exemples, consultez la discussion sur les étendues d’enregistrement.For more information and examples, see the discussion on record scopes.