L'éditeur de formule vous permet de créer des champs (un par un ou en masse) et de modifier des conditions comme vous le feriez avec une calculatrice.
La couleur de la pastille située au-dessus de la zone Messages vous informe de l'état de la formule.
| Si la pastille est... | la formule... | |
|---|---|---|
![]() |
rouge | contient une erreur, qui est signalée dans la zone des messages. Il n'est pas possible de la valider (le bouton Suivant est désactivé). |
![]() |
jaune | peut être validée mais certaines incohérences sont possibles et sont signalées dans la zone des messages. |
![]() |
verte | est valide. |
Dans le cas d'une erreur ou d'un avertissement, la zone Message située dans la partie inférieure du panneau vous donne des détails pour vous aider à comprendre la raison de l'erreur ou de l'avertissement.
Ensembles de champs
Il est courant de vouloir créer plusieurs champs en appliquant un même calcul à différent champs existants. L'éditeur de formule vous permet de faire cela grâce à l'utilisation des ensembles de champs.
Par exemple, l'utilisation des ensembles de champs vous permet d'additionner un grand nombre de champs, ou de calculer leur maximum.
Ensembles de champs nommés
Modifier le nom d'un ensemble de champs revient à le dupliquer.
Ensembles de champ créés à la volée
Lorsque vous ne souhaitez pas appliquer un calcul sur les champs dont les noms ont une racine commune, vous pouvez créer un ensemble de champs à la volée dans le champ de texte de la formule.
Un ensemble de champ créé à la volée est défini par un masque, correspondant à une partie fixe commune aux noms de tous les champs souhaités et à un caractère générique représentant la partie du nom qui change pour chaque champ. Trois caractères génériques peuvent être utilisés pour définir les ensembles de champs : le signe arobase (@), le signe dièse (#) et le signe du dollar ($). Seul un caractère générique peut être utilisé pour chaque ensemble de champ, et un même caractère générique ne peut pas être utilisé deux fois dans la même formule.
Par exemple : prenons le cas d'une table de base de données contenant les champs suivants organisés comme suit :
income_january
income_april
income_february
income_march
expenses_march
expenses_january
expenses_april
income_@ |
expenses_# |
|---|---|
income_january |
expenses_march |
income_april |
expenses_january |
income_february |
expenses_april |
income_march |
Calcul |
Position |
|---|---|
income_january - expenses_march |
1 |
income_april - expenses_january |
2 |
income_february - expenses_april |
3 |
| Calcul | Valeurs @ et # |
|---|---|
income_january - expenses_january |
january |
income_april - expenses_april |
april |
income_march - expenses_march |
march |
Calcul |
|---|
income_january - expenses_march |
income_january - expenses_january |
income_january - expenses_april |
income_april- expenses_march |
income_april - expenses_january |
income_april - expenses_april |
income_february - expenses_march |
income_february - expenses_january |
income_february - expenses_april |
income_march - expenses_march |
income_march - expenses_january |
income_march - expenses_april |
Utilisation d'un ensemble de champs en tant que liste de variables pour une fonction n-aire.
Un ensemble de champs peut être utilisé pour définir une liste des arguments pour des fonctions n-aire, c'est-à-dire des fonctions qui comportent un nombre indéfini d'arguments. Lorsqu'un ensemble de champs est utilisé en tant qu'argument dans une fonction n-aire, et dans ce cas uniquement, vous devez encadrer le nom de l'ensemble avec des accolades { } pour qu'il soit interprété comme une liste d'arguments.
Prenons par exemple le cas d'une table de base de données sont les champs income_april, income_may, income_june contiennent le chiffre d'affaires mensuel. Si vous souhaitez créer un champ contenant le chiffre d'affaire mensuel le plus élevé du trimestre, vous devez utiliser la formule suivante greatestN({income_@}) qui utilise l'ensemble de champs income_@ en tant que liste de variables, ce qui équivaut à la formule greatestN(income_april ,income_may ,income_june). Toutefois, lorsque vous utilisez l'ensemble de champs tel quel dans la formule greatestN(income_@), trois champs sont créés par les trois formules suivantes : greatestN(income_april), greatestN(income_may) et greatestN(income_june), qui ne peut être utilisé.