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 langage de programmation puissant mais 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
Connectez-vous à Power Apps sur https://make.powerapps.com.
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é.
Sélectionner la zone Colonnes , puis Sélectionner Nouvelle colonne.
Saisissez les informations suivantes :
- Un nom complet pour la colonne.
- Si vous le souhaitez, entrez une Description de la colonne.
Pour Type de données Sélectionner fx Formule.
Tapez la formule ou utilisez des suggestions de formule :
Saisissez la Power Fx formule dans la case Formule . Plus d’informations : Saisissez une formule
- Sélectionner propriétés supplémentaires :
- Sélectionner Recherchable si vous souhaitez 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 Options avancées pour modifier le nombre de points de précision, entre 0 et 10. La valeur par défaut est 2.
- Sélectionnez Enregistrer.
Tapez une formule
L’exemple suivant crée une colonne de formule 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.
La colonne de formule affiche le résultat du Prix multiplié par Nombre d’unités.
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. Cela signifie que 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 un Sélectionner de nombre. Vous pouvez changer prix * remise en prix * (remise + 10 %) car cela ne change pas le type de colonne. Cependant, vous ne pouvez pas changer prix * remise en 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 formule Power Fx à 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 en version préliminaire ne sont pas destinées à une utilisation en production et peuvent être 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.
Prérequis
Pour activer cette fonctionnalité, vous devez activer le paramètre Suggestions d’IA pour les colonnes de formules environnement. Plus d’informations : Suggestions d’IA pour les colonnes de formules
Exemple d’entrée en langage naturel
Imaginez qu’il existe une colonne Évaluation client qui affiche leur évaluation par compte.
Dans la zone Obtenir des suggestions de formule , saisissez la formule en langage naturel, par exemple Si la note dans la colonne de notes est égale ou supérieure à 5, indiquez Bon et si elle est inférieure à 5, indiquez Moyen et si la valeur est vide ou nulle, affichez Mauvais, puis appuyez sur la touche fléchée (Entrée).
Copiez ensuite la formule suggérée.
Et collez-le dans la zone Saisir une formule . Sélectionnez Enregistrer.
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 de description de la note calculée, qui apparaît comme ceci.
IA responsable
Pour plus d’informations sur l’IA responsable, accédez à ces ressources :
- FAQ sur la création d’applications et de tableaux via la conversation
- FAQ sur l’utilisation responsable de l’IA dans Power Apps
Operators
Vous pouvez utiliser les opérateurs suivants dans une colonne de formule :
+, -, *, /, %, dans, exactine, &
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 :
- Text
- Nombre décimal
- Nombre entier
- Flotter
- Booléen Choix (Oui/Non)
- Choix (anciennement ensembles d’options)
- Datetime
Plus d’informations : Créez des colonnes de formules avec des types de données décimaux, nombres entiers, flottants et de choix\
Le type de données de devise n’est actuellement pas pris en charge.
Types de fonctions
Vous pouvez utiliser les types de fonction suivantes dans une colonne de formule :
- Decimal
- String
- Valeur booléenne
- Option
- 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
Fonctions
Pour les fonctions scalaires que vous pouvez utiliser dans une colonne de formule, accédez à Référence de formule - Dataverse colonnes de formule.
* Les fonctions Texte et Valeur fonctionnent uniquement avec des nombres entiers, où aucun séparateur décimal n’est utilisé. 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.
* L’argument StartOfWeek n’est pas pris en charge pour les fonctions WeekNum et Weekday dans les colonnes de formule.
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.
- 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 est réalisée via la fonction
Decimal
, telle queDecimal(currency column)
ouDecimal(exchange rate)
. La fonctionDecimal
s’assure que la sortie est 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 une devise type de colonne 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 de date et d’heure, lorsque vous utilisez la fonction, assurez-vous que :
DateDiff
- La colonne de comportement local de l’utilisateur ne peut pas être comparée ou utilisée avec une colonne de comportement.
DateTime(TZI)/DateOnly
- 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 desDateDiff
fonctions avec une autreDateTime(TZI)/DateOnly
colonne de comportement.DateOnly
les colonnes de comportement peuvent être comparées ou utilisées dans la fonction DateDiff avec une autre colonne de comportement.DateTime(TZI)/DateOnly
- La colonne de comportement local de l’utilisateur ne peut pas être comparée ou utilisée avec une colonne de comportement.
- Les colonnes de date et d’heure et les fonctions de date et d’heure
UTCNow()
,Now()
ne peuvent pas être transmises en tant que paramètre aux fonctions de chaîne.
Utilisation de la colonne de formule dans les champs de cumul
- Une colonne de formule simple est celle 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.
- Une colonne de formule, qui dépend de fonctions liées au temps
UTCNow()
etUTCToday()
ne peut pas être utilisée dans un champ de cumul.
Power Fx Recommandations de fonction text
Les colonnes de formule ne prennent pas en charge les fonctions avec un seul argument de type Nombre.
Text()
Nombres : entier, décimal ou devise.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"
, ou12 & 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 argument est passé dans une fonction, l’argument n’est pas pris en charge.String
Text
Format
- 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.
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 formule.
- 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 donne0 + 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
.
- Ce comportement est différent des colonnes calculées dans ce cas car les colonnes calculées donnent
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 formule faisant référence à d’autres colonnes de formule ou de cumul.
- Par exemple,
table E1, F1 = 1*2, table E2, F2 - E1*2
. Dans cet exemple, la profondeur de F2 est 1.
- Par exemple,
- 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 liée au 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 des colonnes de formule.Now()
a un comportement local de l’utilisateur etUTCNow()
a un comportement indépendant du fuseau horaire. - Vous pouvez définir la propriété de précision pour les colonnes décimales.
- La valeur du type de données de formule par défaut est définie sur Décimal pour les formules renvoyant des valeurs numériques.
- La mise à jour du format de la colonne de formule de nombre entier n’est pas prise en charge.
Colonnes de formule de types de données qui ne peuvent pas être produites
- Devise
Voir aussi
Vue d'ensemble de Microsoft Power Fx
Colonnes Formule, Calculées et Cumulatives à l’aide d’un code