Utiliser des colonnes de formule

Les colonnes de formules sont des colonnes qui affichent une valeur calculée dans une table Microsoft Dataverse. Les formules utilisent Power Fx, un puissant langage de programmation convivial. Créez une formule dans une colonne de formule Dataverse de la même manière que vous créeriez une formule dans Microsoft Excel. Au fur et à mesure que vous procédez à votre saisie, Intellisense suggère des fonctions et une syntaxe, et vous aide même à corriger les erreurs.

Ajouter une colonne de formules

  1. Se connecter à Power Apps sur https://make.powerapps.com.

  2. Sélectionnez Tables, puis sélectionnez la table où vous souhaitez ajouter une colonne de formule. Si l’élément ne se trouve pas dans le volet latéral, sélectionnez …Plus, puis sélectionnez l’élément souhaité.

  3. Sélectionnez la zone Colonnes, puis sélectionnez Nouvelle colonne.

  4. Saisissez les informations suivantes :

    • Nom d’affichage de la colonne.
    • Vous avez la possibilité de saisir une Description de la colonne.
  5. Pour Type de données sélectionnez la fx formule.

  6. Tapez la formule ou utilisez des suggestions de formule :

    Saisissez la formule Power Fx dans la zone Formule. Pour plus d’informations : saisir une formule


  1. Sélectionner les propriétés supplémentaires :
    • Cochez la case Possibilité de recherche, si vous voulez que cette colonne soit disponible dans les vues, les graphiques, les tableaux de bord et la recherche avancée.
    • Options avancées :
      • Si la formule donne une valeur décimale, développez les Options avancées pour modifier le nombre de points de précision, entre 0 et 10. La valeur par défaut est 2.
  2. Cliquez sur Enregistrer.

Tapez une formule

L’exemple suivant crée une colonne de formules appelée Prix total. La colonne Nombre d’unités est un type de données de nombre entier. La colonne Prix est un type de données décimal.

Capture d’écran d’une définition de colonne de formule.

La colonne de formule affiche le résultat de Prix multiplié par Nombre d’unités.

Capture d’écran d’un enregistrement avec une colonne de formule.

La formule que vous saisissez détermine le type de colonne. Vous ne pouvez pas modifier un type de colonne une fois la colonne créée. Autrement dit, vous pouvez modifier la formule après avoir créé la colonne uniquement si elle ne modifie pas le type de colonne.

Par exemple, la formule prix * remise crée une colonne de type nombre. Vous pouvez modifier prix * remise avec prix * (remise +10 %), car cela ne change pas le type de colonne. Cependant, vous ne pouvez pas modifier prix * remise sur Texte(prix * remise), car cela nécessiterait de changer le type de colonne en chaîne.

Obtenir des suggestions de formule (version préliminaire)

[Cette rubrique fait partie de la documentation en version préliminaire et peut faire l'objet de modifications.]

Décrivez ce que vous souhaitez que la formule fasse et obtenez des résultats généré par l’IA. Les suggestions de formule acceptent votre saisie en langage naturel pour interpréter et suggérer une Power Fx formule à l’aide d’un modèle d’IA basé sur GPT.

Important

Cette fonctionnalité d’évaluation n’est disponible que dans les régions des USA.

Les fonctionnalités préliminaires ne sont pas destinées à une utilisation en production et peuvent avoir des fonctionnalités restreintes. Ces fonctionnalités sont disponibles avant une publication officielle afin que les clients puissent y accéder de façon anticipée et fournir des commentaires.

Actuellement, les suggestions de formules faisant référence à une seule table sont prises en charge. Les suggestions de formules faisant référence à une colonne sur une table associée sont prises en charge.

Conditions préalables

Pour activer cette fonctionnalité, vous devez activer le paramètre d’environnement Suggestions de l’IA pour les colonnes de formules. Pour plus d’informations : Suggestions de l’IA pour les colonnes de formules

Exemple d’entrée en langage naturel

Imaginez qu’il existe une colonne Évaluation des clients qui affiche leur évaluation par compte. Exemple de colonne d’évaluation client

Dans la zone Obtenir des suggestions de formules , saisissez la formule en langage naturel, par exemple Si la note dans la colonne de note est égale ou supérieure à 5, alors indiquez comme Bon et si moins de 5 indiquez comme Moyen et si la valeur est vide ou nulle, affichez comme Mauvais, puis sélectionnez le bouton fléché (entrée).

Copiez ensuite la Formule suggérée. Formule suggérée

Et collez-le dans la zone Tapez une formule . Cliquez sur Enregistrer. Et collez-la dans la zone Tapez une formule.

Voici comment la formule apparaît une fois collée.

Switch(
    ThisRecord.'Customer Rating',
    Blank(), "Bad",
    0, "Bad",
    1, "Average",
    2, "Average",
    3, "Average",
    4, "Average",
    5, "Good",
    6, "Good",
    7, "Good",
    8, "Good",
    9, "Good",
    10, "Good"
)

Vérifiez la colonne de formule calculée Description de la note , qui apparaît comme ceci.

Vérifiez les résultats pour la colonne de formule

IA responsable

Pour plus d’informations sur l’IA responsable, accédez à ces ressources :

Operators

Vous pouvez utiliser les opérateurs suivants dans une colonne de formule :
+, -, *, /, %, in, exactin, &

Pour plus d’informations, accédez à Opérateurs dans Power Apps.

Types de données

Vous pouvez afficher les types de données suivants dans une colonne de formules :

  • Texte
  • Nombre décimal
  • Choix Oui/Non (booléen)
  • Datetime

Les types de données devise, nombre entier et choix (anciennement groupes d’options) ne sont actuellement pas pris en charge.

Types de fonctions

Vous pouvez utiliser les types de fonction suivantes dans une colonne de formule :

  • Décimal
  • Chaîne
  • Entier
  • Groupe d’options
  • DateHeure (TZI)
  • DateHeure (utilisateur local) (limité aux comparaisons avec d’autres valeurs locales de l’utilisateur et les fonctions DateAdd et DateDiff)
  • DateHeure (date uniquement) (limité aux comparaisons avec d’autres valeurs de date uniquement et la fonction DateAdd et DateDiff)
  • Devise
  • Nombre entier, promu en décimal

Fonctions

Vous pouvez utiliser les fonctions scalaires suivantes dans une colonne de formule :

Abs

And

Day

Value *

If

Int

Len

Max

Mid

Min

Mod

Not

Or

Sum

Text *

* Les fonctions Text et Value ne fonctionnent qu’avec des nombres entiers qui ne contiennent pas de séparateur décimal. Le séparateur décimal varie selon les paramètres régionaux. Étant donné que le séparateur décimal varie selon les paramètres régionaux et que les colonnes de formules sont évaluées sans connaissance des paramètres régionaux, il n’existe aucun moyen d’interpréter ou de générer correctement le séparateur décimal.

Exemple de fonction

Description Exemple
Récupérer une valeur de date. DateAdd(UTCNow(),-1,TimeUnit.Years)

Directives et limitations

Cette section décrit les directives et les limitations connues dans les colonnes de formules dans Dataverse.

Validations de l’utilisation des champs de devise

  • Les colonnes de formule ne prennent pas en charge l’utilisation d’une colonne de devise de table associée dans la formule, comme dans cet exemple. Colonne de formule avec la formule de compte non prise en charge Account.Annual Revenue
  • L’utilisation directe des colonnes de devise et du taux de change dans la formule n’est actuellement pas prise en charge. L’utilisation des colonnes de devises et de taux de change s’effectue via la Decimal fonction, telle que Decimal(currency column) ou Decimal(exchange rate). La Decimal fonction garantit que la sortie se situe dans la plage acceptée. Si la valeur de la colonne devise ou taux de change dépasse la plage acceptée, la formule renvoie la valeur null.
  • Les colonnes de devise de base ne sont pas prises en charge dans les expressions de colonne de formule, car ce sont des colonnes système utilisées à des fins de reporting. Si vous souhaitez un résultat similaire, vous pouvez utiliser un type de colonne de devise avec une combinaison de colonnes de taux de change comme CurrencyField_Base = (CurrencyField / ExchangeRate).

Validations de l’utilisation des colonnes de date et d’heure

  • Le comportement des colonnes de formule date/heure ne peut être mis à jour que lorsqu’il n’est pas utilisé dans une autre colonne de formule.
  • Pour les colonnes de formule date/heure, lorsque vous utilisez la fonction DateDiff , assurez-vous que :
    • La colonne de comportement local de l’utilisateur ne peut pas être comparée ou utilisée avec une DateTime(TZI)/DateOnly colonne de comportement.
    • Les colonnes de comportement local de l’utilisateur peuvent être uniquement comparées ou utilisée avec une autre colonne de comportement local utilisateur.
    • DateTime(TZI) les colonnes de comportement peuvent être comparées ou utilisées dans des DateDiff fonctions avec une autre DateTime(TZI)/DateOnly colonne de comportement.
    • DateOnly les colonnes de comportement peuvent être comparées ou utilisées dans des fonctions DATEDIFF avec une autre DateTime(TZI)/DateOnly colonne de comportement. Configuration de date et d’heure non prise en charge avec une colonne de formule
  • Les colonnes date-heure et fonctions date-heure UTCNow(), Now() ne peuvent pas être transmises comme paramètre aux fonctions de chaîne. Colonne de formule avec un paramètre date/heure non pris en charge transmis dans la formule

Utilisation de la colonne de formule dans les champs de cumul

  • Une colonne de formule simple est l’endroit où la formule utilise des colonnes du même enregistrement ou utilise des valeurs codées en dur. Pour les colonnes de cumul, les colonnes de formule doivent être des colonnes de formules simples, comme cet exemple de colonne de cumul. Exemple de colonne de formule simple pour une colonne de cumul Exemple de configuration de colonne de cumul

Power Fx Recommandations de fonction text

  • Les colonnes de formule ne prennent pas en charge les Text() fonctions avec un seul argument de type Nombre. Nombres : entier, décimal ou devise. Colonne de formule avec fonction de texte non prise en charge avec un argument numérique

  • Les colonnes de formule ne prennent pas en charge l’utilisation de nombres dans les configurations suivantes :

    • Dans les fonctions String. Ce sont des fonctions de chaîne placées partout où un argument texte est attendu : Upper, Lower, Left, Right, Concatate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute et Replace.
    • Dans les formules implicites, telles que 12 & "foo", ou 12 & 34, ou "foo" & 12.
    • La coercition de numéro interne vers le texte n’est pas prise en charge. Nous vous recommandons d’utiliser Text(Number, Format) pour convertir un nombre en texte. Dans le cas où un String argument est passé dans une Text fonction, alors l’ Format argument n’est pas pris en charge.
    • Voici un exemple utilisant la fonction Text pour convertir un nombre en texte et y ajouter une chaîne :
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Les jetons de mise en forme spécifiques aux paramètres régionaux, tels que « . » et « , » ne sont pas pris en charge dans les colonnes de formule. Jeton de formatage non pris en charge, spécifique à une région, passé en paramètre de la fonction Text dans une formule

Validations de plage sur les colonnes de formule

  • Vous ne pouvez pas définir les propriétés Valeur minimale ou Valeur maximale d’une colonne de formules.
  • Tous les calculs internes doivent se situer dans la Dataverse plage pour les colonnes de formules de type décimal (-100000000000 à 100000000000).
  • Une valeur littérale codée en dur saisie dans la barre de formule doit se situer dans la Dataverse plage.
  • S’il existe une colonne numérique nulle, elle est considérée comme 0 dans l’opération intermédiaire. Par exemple, a+b+c and If a = null, b=2, c=3 la colonne de formule donne 0 + 2 + 3 = 5.
    • Ce comportement est différent des colonnes calculées dans ce cas car les colonnes calculées donnent null + 2 + 3 = null.

Validations générales sur les colonnes de formule

  • Les colonnes de formules peuvent référencer d’autres colonnes de formules, mais une colonne de formules ne peut pas se référencer elle-même.
  • Les colonnes de formule ne prennent pas en charge les chaînes cycliques, telles que F1 = F2 + 10, F2 = F1 * 2.
  • La longueur maximale de l’expression de formule dans les colonnes de formules est de 1 000 caractères.
  • La profondeur maximale autorisée dans les colonnes de formules est de 10. La profondeur est définie comme la chaîne de colonnes de formules faisant référence à d’autres colonnes de formules ou de cumul.
    • Par exemple, table E1, F1 = 1*2, table E2, F2 - E1*2 Dans cet exemple, la profondeur de F2 est 1.
  • Dans les applications pilotées par modèle, le tri est désactivé sur :
    • Une colonne de formule qui contient une colonne d’une table associée.
    • Une colonne de formule qui contient une colonne logique (par exemple, une colonne d’adresse).
    • Une colonne de formule qui contient une autre colonne calculée ou de formule.
    • Une colonne de formule qui utilise une fonction limitée dans le temps UTCNow().
  • Les colonnes de type Nombre entier avec le format Langue, Durée, Fuseau horaire ne sont pas prises en charge dans les colonnes de formule.
  • Les colonnes de type Chaîne avec le format E-mail, Zone de texte, Code du titre, URL ne sont pas prises en charge dans les colonnes de formule.
  • Les colonnes de formules n’affichent pas de valeurs quand l’application est en mode mobile hors connexion.
  • Vous ne pouvez pas déclencher des workflows ou des plug-ins sur des colonnes de formule.
  • Nous vous déconseillons d’utiliser des colonnes calculées dans des colonnes de formules et vice versa.
  • Les règles de détection des doublons ne sont pas déclenchées sur les colonnes de formule.
  • La fonction Now peut être utilisée avec les colonnes de formule. Now() a un comportement local d’utilisateur et UTCNow() a un comportement indépendant du fuseau horaire.
  • Vous pouvez définir la propriété de précision pour les colonnes décimales.

Power Fx fonction n’est pas prise en charge

  • Power
  • Sqrt
  • Exp
  • Ln
  • ^ (opérateur)

Colonnes de formule de types de données qui ne peuvent pas être produites

  • Nombre entier
  • Choix (sauf le choix Oui/Non)
  • Devise

Voir aussi

Types de colonnes

Vue d’ensemble de Microsoft Power Fx

Colonnes Formule, Calculées et Cumulatives à l’aide d’un code