You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?Vous avez créé un script. Maintenant, comment pouvez-vous partager ce que vous avez créé ?
Content de te revoir! Si vous êtes arrivé jusqu'ici, vous disposez probablement d'un script fonctionnel. Bravo! Si vous venez de découvrir ces séries , vous souhaiterez peut-être mettre une épingle dans cet article et recommencer depuis le début.
Voici les liens vers ceux que vous avez peut-être manqués :
Donc, vous avez un nouveau morceau de code sympa. Quels sont vos projets pour cela ? Si vous avez pris la peine de créer un script, vous devriez probablement réfléchir à la façon de le conditionner pour que d'autres (ou vous-même) puissiez l'utiliser facilement. Dans cette dernière entrée, je souhaite vous donner quelques idées sur la façon de partager ce que vous avez créé. JMP propose plusieurs options selon la manière dont vous souhaitez le partager.
Partager votre travail
Il existe quatre ou cinq méthodes (selon votre interlocuteur) pour empaqueter des scripts que d'autres peuvent utiliser : fichiers JSL, fichiers Query Builder, compléments JMP, applications JMP et rapports JMP Live et/ou JMP Public. Pour le niveau de script que nous réalisons ici, certaines de ces méthodes sont un peu hors de portée (en particulier les applications ; nous les conserverons pour une autre série). Ce que j'aimerais faire ici, c'est vous donner quelques options et de bonnes ressources pour chaque méthode et passer en revue quelques exemples pour celles qui vous en donneront le plus pour votre argent dans la phase actuelle de votre parcours de script.
Fichiers JSL
C’est à cela que pensent les gens lorsqu’ils parlent de travailler chez JSL. Si vous avez suivi la série, c'est ici que se trouve actuellement votre script. Le fait est que les fichiers JSL ne constituent pas le meilleur moyen de stocker ou de partager des fichiers. Ils peuvent être accidentellement modifiés. Ils nécessitent que quelqu'un sache comment exécuter un script. Et, pour être honnête, pour certaines personnes, voir le code est un peu intimidant.
Les fichiers JSL ne devraient probablement être utilisés que pour les tâches les plus triviales ou pour les méthodes de prototypage d’un projet plus vaste. Il y a des exceptions, bien sur. Si vous créez une bibliothèque de fonctions ou quelque chose du genre, elle existera sous forme de fichier JSL. Il existe également des éléments de JMP qui vous permettent de fournir directement du JSL (par exemple, le fichier de mots-clés de pliage de code ), mais celles-ci tendent à constituer l’exception plutôt que la règle. Mon parti pris personnel est de m'arrêter à un fichier JSL uniquement en dernier recours, si je collabore avec un autre codeur sur quelque chose ou si le code est entièrement destiné à mon usage personnel (par exemple, un extrait pour tester quelque chose).
Fichiers du générateur de requêtes
JMP prend en charge Query Builder pour la plupart des types de fichiers via des pilotes ODBC ou des tables de données JMP. Si votre script implique une étape de manipulation de données, il est probable que vous puissiez vous décharger d'une grande partie du travail lourd sur le fichier Query Builder et utiliser le script de post-requête (plus d'informations à ce sujet dans une seconde) pour effectuer les éléments que Query Builder peut effectuer. Je ne gère pas. L'utilisation de ces fichiers comme méthode d'empaquetage simplifie le flux de travail et rend le script plus robuste. Ils rendent également le script portable. De plus, vous avez la possibilité d'utiliser les invites de filtre intégrées pour rendre votre code encore plus flexible.
Regardons un exemple simple. Je vais utiliser le générateur de requêtes de table de données JMP sous Tables > Générateur de requêtes plutôt que celui des connexions ODBC ou SAS juste pour garder les choses simples, mais le flux de travail serait similaire dans ces cas, et il existe des ressources pour montrer comment cela fonctionne .
Tout d’abord, configurons une requête de table. Je ne vais pas écrire ça. L'équipe de documentation de JMP a fait un excellent travail avec un exemple pour les exemples de données SATByYear. Suivez simplement les instructions dans cet exemple et arrêtez-vous après avoir exécuté la requête, mais gardez le générateur de requêtes ouvert. Une fois que vous avez la table de données, créez une carte Graph Builder :
- Ouvrez le générateur de graphiques ( Graphique > Générateur de graphiques ).
- Faites glisser État vers la zone de dépôt Forme de la carte sous l’axe Y.
- Faites glisser % Taking (2004) dans la zone déroulante Couleur.
- Accédez au triangle rouge à côté de Graph Builder et sélectionnez Rétablir > Sélecteur de colonnes .
- Sélectionner % de prise (2004) comme ce que vous voulez désactiver et cliquez D'ACCORD .
- Sélectionnez toutes les variables continues entre lesquelles vous souhaitez basculer et cliquez sur D'ACCORD .
Sélectionner Fait pour fermer le panneau de commande.
Cela représente beaucoup de clics pour un graphique et une vue très courante pour ce type de données. Grâce à nos nouvelles compétences en matière de script, nous pouvons demander à Query Builder de reproduire ce graphique (et tous ceux que nous pourrions choisir d'ajouter ultérieurement). Voici comment procéder :
- Sélectionner Enregistrer le script > Dans le Clipboar d à partir du générateur de graphiques.
- Dans le générateur de requêtes, sélectionnez le Script post-requête dans la moitié inférieure de la fenêtre.
- Pâte ( CTRL+P pour PC ou CMD+P pour MacOS) le script dans l'onglet Script post-requête.

- Enregistrez le fichier Query Builder en cliquant sur Sauvegarder .
- Maintenant, fermez la table de données créée par Query Builder et Graph Builder.
- Cliquez sur Exécuter une requête .
Vous voyez comment ça marche ? En utilisant Query Builder, vous avez bénéficié d'une certaine interactivité gratuitement sous la forme de la boîte de dialogue de filtrage et avez pu augmenter considérablement l'efficacité de ce flux de travail. Si quelqu'un possédait les deux fichiers de données, vous pourriez lui envoyer le fichier Query Builder et cela produirait le même résultat.
Compléments JMP
Si vous souhaitez que votre code apparaisse dans JMP, un complément est la solution. Les compléments apparaissent dans le menu Complément de JMP, qui n'apparaîtra qu'après avoir installé votre premier complément. Ils sont stockés dans le système de fichiers JMP, de sorte que l'utilisateur n'a pas besoin de se rappeler où se trouve un fichier de script. Et ils apportent un certain élément de finition à un projet terminé. Certes, ils peuvent être un peu intimidants au début, mais ils sont très faciles à utiliser à l'aide de l'assistant de complément.
Je vais créer un complément très simple qui utilise ce code :
// Set up the namespace
Names Default to here(1);
// open the log window and clear it
Open Log();
Clear Log();
// write my message
Write(“Hello World!”);
Le code ouvrira le journal et imprimera un message. Nous allons appeler ce complément « Mon premier complément ». La première étape consiste à ouvrir un générateur de compléments ( Fichier > Nouveau > Nouveau complément ). Après cela, il ne vous reste plus qu'à remplir le formulaire. Il y a cinq onglets en haut de l’interface. Nous allons juste avoir besoin des deux premiers pour notre complément. Le premier onglet (Informations générales) concerne davantage la comptabilité et permet à JMP de savoir où se trouvent les choses. Le deuxième onglet configure en fait les bits qui se trouvent dans l'interface graphique JMP.
Sous Informations générales, les champs Nom du complément et Version sont assez explicites. Vous pouvez empêcher les anciennes versions de JMP d'exécuter votre code avec la version minimale de JMP. Vous pouvez également limiter l'exécution de votre complément sur MacOS ou Windows à l'aide de l'hôte. Je recommande de définir la version minimale et l'hôte pour qu'ils correspondent à la configuration du système sur lequel le code a été écrit (sauf si vous avez la possibilité de tester sur d'autres configurations). C'est plus facile que d'essayer de vous assurer que votre code est à l'épreuve de toutes les situations, en particulier lorsque vous débutez. L'ID du complément est un nom de dossier unique créé dans le système de fichiers JMP lors de l'installation du complément. JMP recommande d'utiliser la convention de dénomination « DNS inversé » (je ne sais pas pourquoi). Cela signifie essentiellement que vous créez quelque chose qui ressemble à une adresse de site Web et que vous l'inversez. Pour le complément, nous utiliserons com.myAddin.MyFirstAddin. Voici à quoi devrait ressembler le premier onglet :
Sous le Éléments de menu onglet, il vous suffit de cliquer sur l'onglet Ajouter une commande bouton. Ensuite, sous Détails, donnez un nom à l’élément de menu. Si vous voulez être sophistiqué, vous pouvez lui donner une info-bulle pour expliquer ce que fait votre complément lorsque vous le survolez. Ensuite, copiez et collez simplement votre JSL dans la zone Action. Si vous utilisez l'extrait de code ci-dessus, votre Éléments de menu l'onglet devrait ressembler à ceci :

Et c'est tout. Enregistrez simplement le fichier et vous avez terminé ! Parce que l'action par défaut (sur le Informations générales onglet) consiste à installer le complément lorsque vous l'enregistrez, en cliquant sur Sauvegarder créera à la fois un fichier à envoyer à d’autres et l’installera sur votre propre instance de JMP. Une fois que vous avez enregistré le complément, vous devriez voir une entrée comme celle-ci dans le menu de votre complément :
Applications JMP
Alors, vous voulez créer quelque chose qui semble être une partie native de JMP ? Application Builder est, à mon avis, la méthode la plus flexible et la plus efficace pour générer des solutions JSL personnalisées de haute qualité. Il vous offre la possibilité de contrôler tous les aspects du logiciel, d'exploiter les parties existantes de JMP et d'utiliser des routines conçues sur mesure. Cette flexibilité et cette puissance ont un coût sous la forme d’une courbe d’apprentissage.
Cela dit, il ne faut pas se laisser intimider. Il existe de nombreuses ressources pour démarrer avec Application Builder, et les choses que vous pouvez faire avec sont incroyables. Il faudra juste du travail pour être opérationnel. Il existe également une version « allégée » d'Application Builder intégrée à JMP. Vous le connaîtrez sous le nom d'outil glisser-déposer appelé Dashboard Builder. Une fois que vous avez un peu d'expérience avec JSL, prenez le cours Application Builder de SAS Education ne serait pas une mauvaise façon de se renseigner sur cet outil très puissant. J'envisage également de faire une autre série « Cinq choses » sur ce sujet à un moment donné, alors gardez un œil sur cela !
JMP Live et JMP Public
Bien que JMP Live et JMP Public soient plus lourds du côté de la « consommation », vous pouvez créer et publier des tableaux de bord et des rapports que d'autres pourront utiliser en utilisant cette méthode. Pour la plupart, vous utilisez simplement les morceaux de JSL que je vous ai montrés dans cette série. Dan Valente a fait un excellent article de blog sur la création de scripts pour JMP Live (et JMP Public), je ne vais donc pas m'étendre sur ce point.
Devoirs
Eh bien, vous avez réussi ! Le dernier devoir est vraiment simple. Préparez votre code, donnez-le à un collègue et demandez-lui de l'essayer et de voir s'il fonctionne. Si ce n'est pas le cas, regardez les messages d'erreur et découvrez pourquoi. Si tel est le cas, alors vous avez créé votre premier complément JMP ! Bon travail.
Où aller en partant d'ici
Comme je l'ai dit plus tôt, cette série n'avait pas pour but de vous faire décoiffer et de vous éblouir avec mes prouesses scénaristiques. Il s'agissait de pointer votre nez dans la bonne direction, de vous donner une bonne carte, une tape dans le dos et de l'aide à contacter au cas où vous seriez coincé. C'est un point de départ ; il y a encore beaucoup plus de chemin devant vous que derrière vous.
À partir de là, l’astuce consiste à continuer d’essayer et d’expérimenter. Continuez à démonter les compléments et les applications des utilisateurs pour voir comment ils fonctionnent. Continuez à essayer de nouvelles choses et recherchez des opportunités pour rendre votre flux de travail plus efficace avec de petits scripts. Plus vous faites cela, plus vous vous améliorerez et plus les grands projets auxquels vous envisagez sembleront accessibles. Continuez comme ça.