Analyseur d'expression
Le produit permet de définir des expressions de nature mathématique ou logique/booléenne. Ces expressions peuvent inclure des variables et des fonctions.
Elles peuvent par exemple être utilisées dans le paramètre de colonne de l'explorateur de données. Ce paramètre prend en charge la définition d'une formule. Les applications intégrables peuvent également prendre en charge les formules ou expressions faisant appel à cet analyseur. Par exemple, plusieurs applications comportent un type d'objet "règle" (règle de calcul, règle de formulaire ou règle de calcul de consommation), utilisé pour la validation ou le calcul, qui peut prendre en charge l'application d'une formule.
Les tableaux ci-dessous présentent ce qui est pris en charge dans les expressions utilisant cet analyseur.
| Catégorie | Pris en charge dans l'expression | Description |
|---|---|---|
| Types de données | Nombre | |
| Chaîne | ||
| Booléen | ||
| Liste | ||
| Littéraux | Nombres | |
| Chaînes entre apostrophes ou entre guillemets. Remarque :
L'échappement pour les caractères spéciaux n'est pas pris en charge actuellement. |
||
| Valeurs booléennes : true et false. | ||
| Opérations | + | Plus |
| — | Moins | |
| / | Division | |
| * | Multiplication | |
| ^ ou ** | Puissance | |
| % | Modulo | |
| Opérations logiques | = | Egal à |
| > | Supérieur à | |
| >= | Supérieur ou égal à | |
| < | Inférieur à | |
| <= | Inférieur ou égal à | |
| != ou <> | Différent de |
Le tableau ci-dessous présente les fonctions prises en charge. A noter que plusieurs d'entre elles sont applicables à une liste de valeurs. Les fonctions sont indiquées ici en minuscules, mais la syntaxe du paramètre de colonne de l'explorateur de données indique qu'il doit y être fait référence entièrement en majuscules. Le système convertit les formules des colonnes de l'explorateur de données en minuscules avant de les évaluer.
| Fonction | Paramètre | Résultat | Commentaires |
|---|---|---|---|
| size( ) | Elément de liste | Nombre d'éléments dans la liste. | |
| isEmpty( ) | Elément de liste | Renvoie true si la liste est vide. | |
| sum( ) | Elément de liste de type numérique | Renvoie la somme des nombres de la liste. | |
| avg( ) | Elément de liste de type numérique | Renvoie la moyenne des nombres de la liste. | |
| Un ou plusieurs nombres séparés par des virgules | Renvoie la moyenne des arguments numériques. | ||
| max( ) | Elément de liste | Renvoie la plus grande valeur de la liste. | |
| Un ou plusieurs éléments comparables | Renvoie la plus grande valeur des arguments numériques. | ||
| min( ) | Elément de liste | Renvoie la plus petite valeur de la liste. | |
| Un ou plusieurs éléments comparables | Renvoie la plus petite valeur des arguments numériques. | ||
| abs( ) | Nombre | Renvoie la valeur absolue. | |
| ceiling( ) | Nombre | Arrondit le nombre à l'entier supérieur. | |
| exp10( ) | Nombre | Elève 10 à la puissance indiquée par le nombre. | |
| acos( ) | Nombre | Renvoie l'arc cosinus du nombre en radians. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| asin( ) | Nombre | Renvoie l'arc sinus du nombre en radians. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| atan( ) | Nombre | Renvoie l'arc tangente du nombre en radians. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| cos( ) | Radian | Renvoie le cosinus de l'arc indiqué en entrée en radians. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| exp( ) | Nombre | Elève e à la puissance indiquée par le nombre. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| log10( ) | Nombre | Calcule le logarithme de base 10 du nombre. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| log( ) | Nombre | Calcule le logarithme naturel (de base e) du nombre. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| sin( ) | Radian | Renvoie le sinus de l'arc indiqué en entrée en radians. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| sqrt( ) | Nombre | Renvoie la racine carrée du nombre. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| tan( ) | Radian | Renvoie la tangente de l'arc indiqué en entrée en radians. | Le résultat perd en précision car il utilise les fonctions en virgule flottante double précision du système. |
| floor( ) | Nombre | Arrondit le nombre à l'entier inférieur. | |
| round( ) | Nombre | Utilise une échelle par défaut de 0. Applique le mode d'arrondi par défaut "round half up" (arrondi des valeurs médianes au plus près vers l'infini positif). | |
| Nombre, Echelle | Applique le mode d'arrondi par défaut "round half up" (arrondi des valeurs médianes au plus près vers l'infini positif). | ||
| Nombre, Echelle, Mode | Le mode doit être l'un des suivants :
|
||
| negate( ) | Nombre | Renvoie la valeur négative du nombre. | Utilisable uniquement dans l'explorateur de données. |
Les fonctions ci-dessous sont des fonctions spéciales prises en charge dans l'application pour les listes de valeurs. La syntaxe est toujours fonction [ indexVariable in listName | expression using indexVariable ], où indexVariable est la variable choisie par l'auteur de la formule pour représenter chaque entrée de la liste et qui doit être référencée dans l'expression utilisée pour évaluer chaque entrée.
| Fonction | Description | Exemples |
|---|---|---|
| any [ ] | Cette fonction renvoie la valeur true si l'expression est vérifiée pour au moins l'une des entrées de la liste. | L'exemple ci-dessous renvoie la valeur true si au moins une entrée de la liste Balance est supérieure à 0.
|
| all [ ] | Cette fonction renvoie la valeur true si l'expression est vérifiée pour toutes les entrées de la liste. | L'exemple ci-dessous renvoie la valeur true si tous les numéros de téléphone sont renseignés.
|
| collect [ ] | Cette fonction renvoie une nouvelle liste d'éléments créée à partir de la liste référencée, où chaque valeur de la nouvelle liste est le résultat de l'expression appliquée à chaque valeur d'origine. | L'exemple ci-dessous renvoie une nouvelle liste où chaque montant a été multiplié par le taux de taxe.
|
| select [ ] | Cette fonction renvoie une nouvelle liste composée des valeurs de la liste d'origine pour lesquelles l'expression booléenne est vérifiée. | L'exemple ci-dessous renvoie une nouvelle liste contenant uniquement les montants qui sont négatifs.
|
| reject [ ] | Cette fonction renvoie une nouvelle liste composée des valeurs de la liste d'origine pour lesquelles l'expression booléenne n'est pas vérifiée. | L'exemple ci-dessous renvoie une nouvelle liste contenant uniquement les montants qui ne sont pas négatifs.
|
