Éditeur d'expressions

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.

Création d'un champ
  • Pour créer un champ :
    1. Entrez une formule dans la zone de texte qui se trouve dans la partie supérieure du panneau. Vous pouvez utiliser les fonctions d'aide à la saisie suivantes :
      • Cliquez deux fois sur le nom d'une fonction située dans le cadre Fonctions ou d'une variable (champ ou invite ou ensemble de champs prédéfini) située dans le cadre Variables pour l'insérer à l'endroit du curseur. Dans le cas d'une fonction, un patron de la fonction avec des informations sur les paramètres à renseigner est inséré.
      • Vous pouvez également insérer ces éléments à la position voulue en utilisant le glisser-déposer depuis l'un des arbres vers la zone de texte.
      • Lors de la saisie d'un nom de variable (champ, invite ou ensemble), appuyez simultanément sur les touches Ctrl + Espace pour afficher une liste des noms de variable commençant par le texte saisi.

        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.

    2. Pour valider définitivement la formule, cliquez sur le bouton Suivant.
    3. Saisissez un nom pour le nouveau champ sous Nom.
    4. Cliquez sur le bouton OK.
Fonctionnalités avancées

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

  • Pour créer un ensemble de champs nommé :
    1. Dans la section Variables, cliquez deux fois sur l'option Ensemble de champs. Un sous-arbre s'affiche, listant les ensembles de champs existants.
    2. Cliquez deux fois sur l'option Créer un ensemble de champs... Une fenêtre s'affiche listant tous les champs disponibles dans votre table d'analyse.
    3. Dans le champ Masque d'alias, saisissez un masque permettant de filtrer les champs par leur nom. Un masque est constitué d'une partie commune au nom de tous les champs que vous voulez voir s'afficher dans la liste et du caractère étoile (*) qui permet de compléter les parties de nom qui diffèrent selon les champs. L'étoile peut être utilisée en début, milieu ou fin de mot et autant de fois que nécessaire.
    4. Décochez les champs que vous ne souhaitez pas conserver dans l'ensemble de champs.
    5. Dans le champ Nom, saisissez le nom du nouvel ensemble de champs.
    6. Cliquez sur le bouton OK. La fenêtre se ferme et le nouvel ensemble de champs apparaît dans la liste sous l'élément Ensemble de champs.
  • Pour modifier un ensemble de champs nommé :
    1. Cliquez sur l'ensemble de champs que vous souhaitez modifier pour le sélectionner.
    2. Cliquez avec le bouton droit de la souris sur l'ensemble de champs sélectionné. Un menu contextuel s'affiche.
    3. Cliquez sur l'option Modifier. La fenêtre d'édition des ensembles de champs s'affiche.
      Remarque

      Modifier le nom d'un ensemble de champs revient à le dupliquer.

  • Pour supprimer un ensemble de champs nommé :
    1. Cliquez sur l'ensemble de champs que vous souhaitez modifier pour le sélectionner.
    2. Cliquez avec le bouton droit de la souris sur l'ensemble de champs sélectionné. Un menu contextuel s'affiche.
    3. Cliquez sur l'option Supprimer.

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.

  • Pour créer un ensemble de champs à la volée :
    • Dans le champ de texte de la formule, saisissez le masque correspondant aux champs auxquels vous voulez ajouter un calcul, par exemple income_@, puis utilisez-le comme champ standard.
  • Pour utiliser plusieurs ensembles de champs :
    1. Saisissez une formule à l'aide des ensembles de champs tel que défini précédemment. La zone Messages située dans la partie inférieure du panneau indique le nombre de champs allant être créés.
    2. Lorsque vous utilisez plusieurs ensembles de champs dans la même formule, vous devez sélectionner dans la liste déroulante Association des champs la manière dont les champs de ces ensembles seront associés.
      • Associer par position : les champs de chaque ensemble sont associés en fonction de leur position dans la table de base de données.
      • Associer par valeur : les champs de chaque ensemble sont associés en fonction de la valeur représentée par les caractères génériques utilisés pour définir les ensembles de champ.
      • Effectuer le produit cartésien : tous les champs d'un ensemble sont associés à tous les champs d'un autre ensemble.

      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

      La formule suivante income_@ - expenses_# utilise deux ensembles de champs, un regroupant tous les champs income_ et le deuxième avec tous les champs expenses_  :

      income_@

      expenses_#

      income_january

      expenses_march

      income_april

      expenses_january

      income_february

      expenses_april

      income_march

      L'option Associer par position entraîne les calculs suivants :

      Calcul

      Position

      income_january - expenses_march

      1

      income_april - expenses_january

      2

      income_february - expenses_april

      3

      Si l'option Associer par valeur est sélectionnée, l'application essayera d'associer la valeur représentée par @ et la valeur représentée par # , entraînant les calculs suivants :
      Calcul Valeurs @ et #

      income_january - expenses_january

      january

      income_april - expenses_april

      april

      income_march - expenses_march

      march

      L'option Effectuer le produit cartésien entraîne les calculs suivants :

      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

    3. Cliquez sur Suivant pour valider la création des champs. Une boîte de dialogue vous permettant de nommer les nouveaux champs s'ouvre.
    4. Saisissez une racine commune à tous les champs venant d'être créés.
    5. Si la formule utilise uniquement les ensembles de champ nommés ou si vous n'avez pas besoin de contrôler davantage l'appellation, passez à l'étape suivante. Si vous avez utilisé un ou plusieurs caractères génériques, vous pouvez les utiliser dans l'alias pour créer un modèle d'appellation. Les caractères génériques sont remplacés par les parties de nom correspondant.
    6. Cliquez sur OK pour créer les champs.

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é.

  • Pour utiliser un ensemble de champs en tant que liste de variable :
    1. Créez un ensemble de champs (nommé ou à la volée) tel que décrit précédemment.
    2. Dans le champ de texte de la formule, saisissez la formule contenant une fonction n-aire.
    3. Saisissez le nom de l'ensemble de champs entre accolades { } pour l'utiliser en tant qu'argument pour la fonction. Par exemple, la formule greatestN({incomes}) créera un champ dont la valeur est la valeur la plus élevée des champs contenus dans l'ensemble de champs appelé incomes.