Altair® Monarch®

 

Création d'expressions dans Monarch Classic

Monarch Classic servent à définir les filtres et les champs calculés. Elles régissent aussi les recherches de champs dans la fenêtre du tableau. Une expression est une formule qui renvoie une valeur. Les expressions sont limitées à une longueur maximale de 32 768 caractères. Elles peuvent contenir les noms de champ du tableau, des constantes, des opérateurs arithmétiques, logiques, de comparaison et d'enchaînement, et des fonctions.

Les règles suivantes s'appliquent à toutes les expressions.

Utilisation des noms de champ

Un nom de champ peut être inclus dans une expression à l'endroit où les valeurs du champ seraient appropriées. Par exemple, l'expression Ville="Paris" compare les valeurs rencontrées dans le champ Ville à la chaîne « Paris ».

Remarque : ans les expressions, les noms de champ non conformes aux règles de désignation dBASE III doivent être inclus entre crochets ([]). Ces règles limitent la longueur des noms de champ à 10 caractères, interdisent les espaces et signes de ponctuation et exigent un caractère alphabétique (a – z, A – Z) en début de nom. Pour éviter d'avoir à vous souvenir de ces règles lors de l'introduction de noms de champ dans une expression, sélectionnez simplement le nom du champ voulu dans la liste des champs et cliquez sur Insérer (ou cliquez deux fois sur le nom dans la liste des champs). Pour les champs insérés de cette manière, Monarch Classic ajoute automatiquement les crochets nécessaires. Monarch Classic assure également la mise à jour automatique des expressions concernées par un changement de nom de champ.

Utilisation des constantes

Une constante est un nombre ou une chaîne qui ne change pas. Les règles de syntaxe suivantes s'appliquent aux constantes dans une expression de recherche :

  • Les chaînes de caractères doivent être entre guillemets, comme dans "Dupont".

  • Les valeurs de date doivent être entre accolades, comme dans {17 juin, 2000} ou {17/06/00}. Les dates doivent être comprises entre 1 janvier, 1900 et 31 décembre, 2400.

  • Les nombres doivent contenir 15 chiffres significatifs au maximum, hormis le signe de négation et la virgule décimale, comme dans -1234567890,12345. Remarque : Les nombres doivent être entrés sans guillemets ni accolades.

Utilisation des opérateurs arithmétiques

Un opérateur arithmétique sert à exécuter des calculs sur les valeurs numériques. Monarch Classic prennent en charge les opérateurs arithmétiques suivants :

Opérateur

Description

+

addition

-

soustraction

*

multiplication

/

division

 

La puissance est indiquée par ^ ou **. L'expression MASSE^3 (ou MASSE**3) renvoie le cube de la valeur identifiée dans le champ MASSE.

Utilisation des opérateurs de comparaison

Comme son nom l'indique, un opérateur de comparaison sert à comparer deux valeurs. Monarch Classic prennent en charge les opérateurs de comparaison suivants :

Les fonctions de chaîne fonctionnent sur ou avec des chaînes de caractères.

Opérateur

Description

=

égal à

<>

différent de

>

supérieur à

>=

supérieur ou égal à

<

inférieur à

<=

inférieur ou égal à

 

Remarque : Voir aussi Utilisation d'opérateurs de comparaison dans les expressions.

Utilisation des opérateurs de chaîne

Un opérateur de chaîne (+ ou -) sert à enchaîner (combiner) deux chaînes de caractères. Le signe plus (+) enchaîne les chaînes. Le signe moins (-) les enchaîne après avoir supprimé les espaces de fin de la première. Le signe plus (+) est plus fréquent car il produit une expression plus intuitive. Par exemple, pour créer un champ Nom et prénom à partir de deux champs individuels, définissez l'expression

Nom+" "+Prénom

Nom+" " enchaîne un espace de séparation entre le nom et le prénom, et +Prénom ajoute la valeur du champ Prénom.

Dans l'expression Nom-" "+Prénom, le signe moins (-) qui suit Nom réduit la valeur du champ Nom avant d'y ajouter celle du champ Prénom.

Utilisation des opérateurs logiques

Un opérateur logique sert à grouper les comparaisons. Monarch Classic prennent en charge les opérateurs .And., Or., .Not., .In.() et .NotIn.(), tels que décrits dans le tableau ci-dessous :

 

Opérateur

Description

.And.

Les deux moitiés de l'expression doivent être vraies (TRUE).

.Or.

L'une ou l'autre des moitiés de l'expression doit être vraie (TRUE).

.Not.

L'expression doit être fausse (FALSE).

.In.()

Détermine la présence d'une valeur dans une liste de valeurs.

.NotIn.()

Détermine l'absence d'une valeur dans une liste de valeurs.

 

Remarque : Voir aussi Utilisation d'opérateurs logiques dans les expressions.

Traitement des valeurs incorrectes

Lorsqu'une expression de filtre fait référence à un champ qui contient une ou plusieurs valeurs incorrectes, les enregistrements affectés sont omis (le filtre les rejette). Les valeurs de champ incorrectes sont celles des champs calculés qui présentent une division par zéro ou celles des champs de date qui contiennent un espace blanc (la date étant dès lors incorrecte).

Insertion de commentaires

Monarch Classic permet l'insertion de commentaires dans les expressions de champ calculé, de filtre et de recherche (leur intérêt est limité dans ces dernières, puisqu'elles sont éliminées à la fin de chaque session Monarch Classic). Ces commentaires doivent être insérés entre les barres obliques de commentaire /* */. Vous pouvez placer les commentaires n'importe où dans l'expression, à condition qu'ils n'interrompent pas un nom ou une valeur de champ. Par exemple, les expressions suivantes sont correctes :

  • Prix*Quantité/*Calcule les totaux de transactions*/

  • Prix*/* Calcule les totaux de transactions */Quantité

L'expression suivante n'est pas correcte car le commentaire interrompt le nom du champ Quantité :

  • Prix*Quan/* Calcule les totaux de transactions */tité

Comparaisons emboîtées

Monarch Classic admet toutes les combinaisons d'opérateurs logiques dans ses expressions. Veillez cependant à insérer les parenthèses appropriées pour obtenir le résultat désiré. Monarch Classic admet un nombre illimité de paires de parenthèses emboîtées.

Utilisation des caractères génériques

Un caractère générique peut être utilisé pour représenter un caractère ou une série de caractères quelconque dans une chaîne de texte. Monarch Classic : le point d'interrogation (?) et l'astérisque (*). Le point d'interrogation représente « n'importe quel caractère unique ». L'astérisque représente « une série de caractères quelconque ».

Casse

Les comparaisons effectuées au sein des expressions ne respectent pas la casse. Par exemple, l'expression

If(Client="Passe-Partout";Prix*0,55; Prix*0,65)

calcule un taux de rabais pour un client favorisé (Passe-Partout), et un tarif supérieur pour tous les autres clients. Le taux de rabais est calculé pour « Passe-Partout » indépendamment de la forme sous laquelle la valeur apparaît dans le champ Client :

  • passe-partout

  • Passe-Partout

  • PASSE-PARTOUT

Utilisation de fonctions

Monarch Classic prennent en charge une série de fonctions de base de données. La plupart de ces fonctions requièrent au moins un argument et elles renvoient toutes une chaîne de caractères, un nombre ou une date. Les règles de syntaxe suivantes s'appliquent à toutes les fonctions :

  • Les noms de fonction peuvent être saisis en majuscules ou en minuscules.

  • Les arguments de fonction doivent être entre parenthèses. Si plusieurs arguments sont nécessaires, ils doivent être séparés par des points-virgules et figurer dans l'ordre spécifié dans la définition de la fonction.

  • Une fonction peut être intégrée à une autre en tant qu'argument.

Remarque : Pour une description détaillée de chaque fonction prise en charge, avec exemples d'utilisation dans un champ calculé, voir Fonctions.

Utilisation des regroupements

Un regroupement est une commande qui exécute une fonction arithmétique sur les valeurs d'une mesure dans un récapitulatif. L'onglet Formule de la fenêtre Mesures des champs de récapitulatif propose des regroupements admis dans les expressions de mesure. Voir Utilisation des regroupements pour plus de détails.

Voir aussi Création d'expressions composées.