Le langage script de JMP®

JMP® est le produit de l'offre SAS qui permet de réaliser des explorations et analyses interactives des données et de lier dynamiquement les données aux graphiques et analyses statistiques. L'objet de cet article est de présenter comment, via le langage script de JMP, le JSL (JMP Scripting Language), reproduire les mêmes résultats que ceux obtenus en utilisant sa souris.

Le plus simple pour débuter avec ce langage est de s'inspirer directement de JMP. En effet, pour chaque action réalisée, un script est automatiquement créé par JMP. Donc les consulter est le meilleur moyen de comprendre son fonctionnement.

Nous allons d'abord prendre deux exemples, puis voir quelques points de syntaxe de base.

Utilisation de la plate-forme Summary, réalisant des statistiques descriptives

Après avoir choisi une table contenant une variable continue, ici « Outside », nous appelons la plate-forme Summary. Lors de la selection de la variable Outside, nous choisissons de calculer sa moyenne :



Une nouvelle table JMP est créée :



En cliquant sur le symbole rouge devant « Source », nous pouvons choisir l'option Edit, laquelle affiche le code script généré par JMP :
Data Table( "Chamber" )<< Summary( Group, Mean(:outside ) )

Voici donc comment calculer la moyenne d'une variable sur une table donnée.

Utilisation de la plate-forme Distribution

Cette fois, nous allons utiliser un exemple fourni directement dans JMP. Depuis le menu Aide > Répertoire de fichiers modèles (ou Help > Sample Data Directory), vous trouverez de nombreux fichiers de données, auxquels des scripts sont associés. En choisissant la table Mushroom par exemple, dans la section « Modélisation exploratoire », ou « Exploratory modeling », l'affichage est le suivant :



Sous la description donnée à la table (Mushroom Data Characteristics of Mushrooms), on peut voir que deux plates-formes ont été utilisées sur les données, Distribution et Partition, et associées à la table. Elles ont été créées respectivement à partir du menu Analyse > Distribution et Analyse > Modélisation > Partition. En cliquant sur la flèche rouge à gauche de ces analyses, un menu contextuel permet de choisir l'exécution du script, son édition ou sa suppression.

Ainsi l'exécution du script associé à Distribution présente, pour chaque variable de la table, un graphique avec la répartition des modalités, de même qu'un tableau de fréquence. Pour la première variable, cela donne :



Et le script correspondant est :
Distribution(Nominal Distribution(Column(:Edibility ) ));

En manipulant un peu cette syntaxe, on peut se rendre compte que
Distribution(Column(:Edibility ) );
fonctionne également et donne les mêmes résultats. L'explication est que JMP crée ses scripts en prenant en compte un maximum de détails sur l'analyse. Mais une syntaxe « allégée » fonctionne également car elle donne à JMP suffisamment d'informations pour réaliser l'analyse.

La syntaxe

Voyons maintenant quelques points importants à connaître sur la syntaxe à utiliser dans les scripts.

Les noms utilisés, que ce soit pour référencer une variable, une fonction, une plate-forme, ou un objet de façon générale doivent commencer par une lettre ou le caractère _ (un chiffre n’est pas autorisé). Les caractères a-z, A-Z, 0-9, ’ , %, ., \, espace, tabulation sont autorisés à compter du second caractère.
Une variable est référencée en utilisant le préfixe :, soit :x par exemple
Quand ce symbole est doublé, il fait référence à une variable globale, soit ::y par exemple.

La syntaxe à utiliser pour saisir des commentaires est :
// mon commentaire
ou
/* mon commentaire */

Les opérateurs classiques existent, tels que la soustraction (a-b) ou la comparaison (a==b) par exemple, avec leur équivalent en terme de fonction, respectivement substract(a,b) et equal(a,b). Pour illustrer certains de ces points, voyons le résultat de l'exécution du script suivant :

a=2; b=7; c=pi();
Mon Calcul=log(a)*cosine(c);
show(a,b,c,Mon Calcul);

Il renvoie dans la fenêtre Registre (disponible depuis le menu Afficher) :

a:2 
b:7 
c:3,14159265358979 
Mon Calcul:-0,693147180559945

Il est intéressant de savoir qu'une fois le script exécuté, le fait de passer la souris sur les noms des variables, dans la fenêtre script, permet de voir sa valeur.

 

Une fois finalisés, les scripts peuvent être sauvegardés de différentes manières :

  • en tant que fichier JSL indépendant. En utilisant le menu Fichier > Enregistrer lorsqu'une fenêtre de script est active, vous pouvez l'enregistrer sur votre disque dur. L'extension du fichier est jsl.
  • en tant que propriété d’une table. Il sera donc associé à cette table (de la même manière que dans l’exemple mushrooms présenté plus haut). Il est même possible d’avoir un script exécuté à chaque fois que la table sera ouverte, en changeant son nom en : OnOpen
  • en tant que formule d'une colonne. Quand vous créez une nouvelle colonne, le code est en fait un script.
  • Comme nouvel élément d'un menu ou dans la barre d'outils.

Cette introduction ne présente qu’une fraction des possibilités offertes par le langage script de JMP. Une documentation complète sur le sujet est disponible dans le répertoire d’installation de JMP : Support Files English\Documentation\JMP Scripting Guide.pdf.

Karine Chrillesen
Consultant Support Clients SAS France