Processeur Expression
Mis à jour le par Anthony Pépin
Le processeur Expression est versatile. Il peut comprendre une expression comme étant un argument et afficher le résultat dans un champ.
L'expression peut être composée des :
- Identifiants
- Littéraux (nombres, littéraux textuels, booléens et mots-clés)
- Opérateurs
- Fonctions
=
). Si vous ne le faites pas, le processeur n'évaluera pas l'expression. Le signe égal de départ (=
) sera omis dans tous les exemples suivants.Configurer le processeur
Pour définir les paramètres du processeur Expression, suivez les indications du tableau ci-dessous.
Label | Description | Obligatoire |
Expression | Modèle d'expression | Oui |
Champ de sortie | Champ dans lequel l'expression sera appliquée. Il peut s'agir d'un champ existant choisi dans la liste ou d'un champ créé à cette fin (dans ce cas, choisissez Saisir du texte dans la liste et écrivez le nom du nouveau champ dans la zone de texte en dessous). | Oui |
Construire une expression
Une expression est une instruction permettant au processeur d'effectuer une opération, puis de renvoyer la valeur dans une colonne nouvelle ou existante du jeu de données.
Ces expressions ressemblent à ce qu'on appelle des "formules" dans un tableur. La principale différence est qu'au lieu de référencer des cellules (par exemple : A1 + B2
), le processeur peut effectuer des opérations avec les valeurs de colonnes données (par exemple : column_1 + column_2
).
Comme dans une formule, les expressions peuvent être n'importe quelle combinaison de divers éléments. Le processeur Expression prend en charge les éléments suivants :
- Les Identifiants (ex : un nom de champ comme
column_1
ou un nom de champ verrouillé comme$column_1
), - Les Littéraux :
- Nombres (ex : 2
ou 3.6
)
- Littéraux textuels (par exemple "hello"
ou 'world'
)
- Booléens (ex : 'true'
ou 'false'
)
- Mots clés (ex : une constante mathématique comme pi
et e
)
- Opérateurs (ex :
+
,OR
,not
,<=
) - Fonctions (ex:
now()
,sin(number)
,startswith("hello", 'he')
)
Les Identifiants
La caractéristique principale du processeur d'expression est la possibilité d'effectuer des opérations sur les colonnes d'un enregistrement. L'identifiant technique (ou nom de champ) d'une colonne peut être utilisé dans n'importe quelle expression pour accéder à la valeur de ce champ pour l'enregistrement en cours. Cet identifiant technique se trouve dans les options de champ, sous le Nom
du champ concerné.
Exemples:
column_1
pour accéder à un champ nommécolumn_1
(et peut-être intitulé "Column 1")name_en
pour accéder à un champ nomméname_en
(et peut-être intitulé "Name (EN)")
Pour forcer le processeur Expression à évaluer un identifiant comme un nom de champ, il est possible de préfixer n'importe quel identifiant avec le signe dollar (
$
). Le signe dollar peut être utilisé pour n'importe quel nom de champ, mais il n'est obligatoire que pour les noms de champ ambigus.Exemples :
$column_1
pour accéder à un champ nommécolumn_1
(et peut-être intitulé "Column 1")$name_en
pour accéder à un champ nomméname_en
(et peut-être intitulé "Name (EN)")$20_to_25_yo
pour accéder à un champ nommé20_to_25_yo
(et peut-être intitulé "20 to 25 years old")$33
pour accéder à un champ nommé33
$pi
pour accéder à un champ nommépi
Dans tous les exemples suivants, tout nombre ou littéral textuel peut être remplacé par un nom de champ contenant des valeurs du même type. Le processeur Expression extrait la valeur de la colonne spécifiée et effectue l'opération requise avec celle-ci.
Une même expression peut contenir plusieurs champs (ou le même champ réutilisé plusieurs fois).
Expressions littérales
Les littéraux comme les nombres , les littéraux textuels (guillemets simples ou doubles), les booléens et les mots-clés peuvent être utilisés dans n'importe quelle expression.
Exemples:
3
2.5
"Hello"
ou'Hello'
'A bigger sentence'
'true'
ou'false'
pi
,PI
ouPi
e
ouE
Les opérateurs
Les opérateurs sont des symboles qui se comportent généralement comme des fonctions mais sont utilisés avec une syntaxe plus naturelle.
Le processeur Expression prend en charge trois types d'opérateurs, selon le nombre de paramètres qui les entourent :
- Les opérateurs unaires peuvent être utilisés comme préfixes ou suffixes pour modifier la valeur d'une expression
- Les opérateurs binaires peuvent être des opérateurs arithmétiques pour effectuer un calcul entre deux expressions, ou des opérateurs booléens pour comparer le résultat de deux expressions
- L'opérateur ternaire , pour convertir une expression conditionnelle en l'un des deux résultats possibles
Opérateurs unaires
Opérateur | Description | Exemple |
| Préfixe rendant la valeur suivante négative |
|
| Opérateur booléen qui inverse la condition suivante |
|
| Suffixe qui calcule la factorielle d'une expression |
|
Opérateurs binaires
Opérateur | Description | Exemple |
| Opérateurs arithmétiques : additionner, soustraire, multiplier, diviser, modulo, division euclidienne, puissance |
|
| Opérateurs boléens : and, or |
|
| Opérateurs de comparaison : supérieur à, inférieur à, supérieur ou égal à, inférieur ou égal à, égal à et différent de retournent un booléen |
|
| Opérateur de concaténation des chaînes de caractères |
|
Opérateur ternaire
L'expression [condition] ? [résultat si vrai] : [résultat si faux]
s'appelle l'opérateur ternaire et permet de retourner différents résultats en fonction d'une condition.
Exemples:
'true' ? 'hello' : 'goodbye'
renvoie'hello'
'false' ? 'hello' : 'goodbye'
renvoie'goodbye'
4 > 3 ? '4 is bigger' : '3 is bigger'
renvoie'4 is bigger'
10 <= 9 ? '9 is bigger' : '10 is bigger'
renvoie'10 is bigger'
La dernière partie de l'opérateur ternaire est facultative, ce qui signifie que les expressions suivantes sont valides :
'true' ? 'hello'
renvoie'hello'
'false' ? 'hello'
renvoie un résultat vide
Les fonctions
Les fonctions sont utilisées pour effectuer des opérations plus avancées dans une expression, telles que :
- Gestion du texte
- Fonctions mathématiques
- Gestion de la date et de l'heure
Gestion du texte
Fonctions booléennes
Fonction | Description | Exemple |
| Vrai si le texte ne contient que des lettres | |
| Vrai si le texte ne contient que des chiffres | |
| Vrai si le texte ne contient que des lettres ou des chiffres | |
| Vrai si le texte est un nombre décimal valide | |
| Vrai si le texte est composé d'un seul chiffre | |
| Vrai si le texte est en minuscule | |
| Vrai si le texte est en majuscule | |
| Vrai si le texte est vide | |
| Vrai si le texte (1er argument) contient, commence ou se termine par du texte (2ème argument) |
|
Fonctions de traitement
Fonction | Description | Exemple |
| Retourne la longueur du texte |
|
| Convertir le texte en minuscule, en majuscule | |
| Met la première lettre du texte en majuscule ou la première lettre de chaque mot | |
| Justifie à gauche, à droite et au centre un texte (1er argument), jusqu'à atteindre le [nombre] de caractères à l'aide d'un autre texte (3e argument) |
|
| Remplace un texte par sa représentation ASCII |
|
| Extrait une sous-chaîne de texte, en commençant à l'index indiqué par le 2nd argument et d'une longueur indiquée par le 3e argument (optionnel). |
|
| Retourne le nombre de fois où le 2nd argument apparaît dans le 1er argument |
|
| Extrait une partie du texte (1er argument) en partant de la gauche, de la droite ou du milieu ; la taille de l'extrait est déterminé par le 2nd argument pour |
|
Fonctions mathématiques
Fonction | Description | Exemple |
| Valeur absolue |
|
| Racine carrée | |
| Fonctions arrondi à l'entier inférieur et supérieur |
|
| Fonctions minimales et maximales | |
| Arrondit à l'entier le plus proche |
|
| Génère un nombre aléatoire (entre 0 et [nombre]) |
|
| Fonction puissance |
|
| Fonctions exponentielles, logarithmiques et du logarithme en base 10 |
|
| Convertit un angle de degrés en radians |
|
| Convertit un angle de radians en degrés |
|
| Cosinus, cosinus hyperbolique, sinus, sinus hyperbolique, tangente, tangente hyperbolique (en radians) |
|
| Cosinus inverse, cosinus inverse hyberbolique, sinus inverse, sinus inverse hyperbolique, tangente inverse, tangente inverse hyperbolique (en radians) |
|
Gestion de la date et de l'heure
Fonction | Description | Exemple |
| Extrait l'année, le trimestre, le mois, la semaine, la date, le jour de la semaine, les heures, les minutes et les secondes d'un(e) date/datetime |
|
| Ajoute des années, des mois, des jours, des heures, des minutes ou des secondes à un datetime |
|
| Convertit un indicateur temporel en datetime | |
| Convertit un trimestre en intervalle de dates |
|
| Compte le nombre d'unités entre deux expressions datetime. |
|