Altair® Monarch®

 

Création d’expressions

Une expression est une formule qui renvoie une valeur et qui permet de définir des champs calculés dans la fenêtre Préparer.  Les expressions peuvent comprendre :

  • des colonnes de la table

  • des constantes

  • des opérateurs (arithmétiques, logiques, de comparaison et d'enchaînement)

  • des fonctions

Voici quelques exemples d’expressions :

  • Montant x 0,10

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

  • CharToSeconds(heure_fin)-CharToSeconds(heure_début)<60

Les actions suivantes décrivent les règles pour définir des expressions.

Monarch Data Prep Studio mettra en évidence le Générateur d’expressions avec une bordure rouge si des erreurs sont identifiées dans votre expression :

Dans la plupart des cas, cela signifie que votre expression enfreint l’une des règles décrites ci-dessous.

Utilisation des noms de champ

Un nom de colonne 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 la colonne Ville à la chaîne « Paris ».

Remarque : dans les expressions, les noms de colonne doivent être inclus entre crochets ([ ]) si le nom de la colonne comprend des espaces ou des signes de ponctuation ou s’il ne commence pas par une lettre (a – z, A – Z). Si vous souhaitez ne pas avoir à vous souvenir de cette règle lorsque vous saisissez des noms de colonne dans des expressions, il vous suffit de sélectionner le nom de la colonne dans la zone de liste Colonnes. Monarch Data Prep Studio détermine si les crochets sont nécessaires et les ajoute si besoin est. Monarch Data Prep Studio assure également la mise à jour automatique des expressions concernées par un changement de nom de colonne.

Utilisation des constantes

Une constante est un nombre ou une chaîne dont la valeur ne change pas. Les règles de syntaxe suivantes s'appliquent aux constantes :

  • 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. 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 Data Prep Studio prennent en charge les opérateurs arithmétiques suivants :

Les fonctions de chaîne opèrent sur des chaînes de caractères ou en combinaison avec de telles chaînes.

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 Data Prep Studio prennent en charge les opérateurs de comparaison suivants :

 

Opérateur

Description

=

égal à

<>

différent de

>

supérieur à

>=

supérieur ou égal à

<

inférieur à

<=

inférieur ou égal à

 

Remarquez que l’astérisque (*) et le point d’interrogation (?) sont interprétés comme caractères génériques lors de la comparaison des chaînes à l’évaluation de l’expression.

Exemple :

"Donna *" = "Donna Smith"

"Do??a" = "Donna" et "Do??a" = "Dotta"

S'il est nécessaire de rechercher le caractère astérisque littéral, procédez comme suit :

  • Utilisez la fonction Asc() pour comparer directement les valeurs de code de caractère.

Exemple :

If (Asc(DateLeft)=Asc("*");"Arrivée"; If (DateLeft=" ";"Clôture";"Départ"))

  • Utilisez la fonction Instr() pour rechercher un astérisque littéral dans la chaîne cible.

Exemple :

if (Instr("*";DateLeft) > 0;"Arrivée"; If (DateLeft=" ";"Clôture";"Départ"))

  • Créez une colonne intitulée « Astérisque » et contenant un simple caractère astérisque.  Faites ensuite référence à cette colonne dans votre expression, comme suit :

if (DateLeft=Astérisque;"Arrivée"; If (DateLeft=" ";"Clôture";"Départ"))

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

Les opérateurs logiques servent à grouper les comparaisons. 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.

 

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 Data Prep Studio autorise les commentaires dans les expressions. 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 Data Prep Studio 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 Data Prep Studio 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 Data Prep Studio : 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 la colonne Client :

passe-partout
Passe-Partout
PASSE-PARTOUT

Utilisation de fonctions

Monarch Data Prep Studio prennent en charge différentes fonctions. 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. Monarch Data Prep Studio propose de l’aide sous le Générateur d’expressions en vous montrant la syntaxe d'une fonction que vous avez sélectionnée.

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.

Consultez les rubriques suivantes pour en savoir plus sur les fonctions :