Encore une fois à la brèche !
Je parlais avec mon père il y a quelques semaines. Pas avec lui, mais il utilise JMP depuis la version 1.0. Je me souviens avoir vu les disques de 3,5 pouces posés à côté de notre Mac II-se lorsque j'ai appris à utiliser une souris pour la première fois. La même machine était exposée lors de la conférence Discovery Summit 2019 à Tucson, en Arizona. En voici une photo :

Quoi qu'il en soit, mon père et moi discutions ma première série de blogs Five Things . Il a mentionné qu'il souhaitait que quelqu'un écrive une série sur la façon de démarrer avec les scripts dans JMP. À l'époque, j'étais déjà en train d'écrire d'autres articles, alors je l'ai mis de côté pour un futur projet. La vie, cependant, avait d'autres plans. Une semaine plus tard, on m'a demandé d'aider à une présentation client et, à ma grande surprise, l'un des sujets qu'ils voulaient que je couvre était une introduction au scripting ! L'univers aime les blagues, apparemment.
Quoi qu'il en soit, c'est reparti ! Suivant le format de ma première série Five Things, voici les cinq (plutôt) choses que je pense que tout le monde devrait savoir quand ils commencent à scénariser. Tout d'abord, une pensée conceptuelle.
Voir un besoin, combler un besoin
Avant de commencer à écrire des scripts, vous devez considérer le besoin. Il y a de fortes chances que si vous voulez écrire un script, il y a une raison. Peut-être que vous le faites pour être plus efficace au travail. Peut-être cherchez-vous à standardiser les méthodes d'analyse pour un groupe. Ou peut-être êtes-vous, en fait, l'une de ces rares personnes qui ont décidé de le prendre pour les sourires et les rires. Aucune de ces raisons n'est mauvaise, bien que la dernière puisse rendre les choses un peu plus difficiles (j'expliquerai pourquoi dans un instant). Le fait est que vous devriez avoir une raison dans votre tête et un objectif précis pour votre premier script.
Il y a des scripts, et puis il y a des scripts
Il existe, dans mon esprit en tout cas, deux types de scripts différents : ceux qui agissent sur des données existantes, et ceux qui créent des données. Les scripts qui fonctionnent sur des données existantes interagissent avec une table de données et des plates-formes existantes dans JMP pour créer une nouvelle sortie définie par l'utilisateur. Il peut s'agir de choses aussi simples que d'envelopper une fenêtre autour de plusieurs rapports ou aussi complexes qu'un rapport personnalisé dans Application Builder. Le principal point commun est que des scripts comme celui-ci sont modification du contenu existant .
Le deuxième groupe sont des scripts qui créent des données. Les scripts qui créent des données peuvent être des outils de simulation, des graphiques personnalisés, des outils de gestion des métadonnées dans un fichier JMP, etc. Ce groupe est un peu plus nébuleux, mais le thème commun est que les scripts étendent JMP au-delà de l'enrichissement des données ou des analyses existantes. La plupart du temps, ces scripts vont créer un nouveau contenu de zéro.
Les scripts qui modifient le contenu existant sont généralement le point de départ des personnes qui envisagent d'apprendre le langage de script JMP (JSL). C'est aussi là que nous allons commencer notre discussion. Alors, prenons du recul et réfléchissons à la raison pour laquelle vous souhaitez apprendre JSL.
Donnez-moi une phrase, Vasily. Une seule phrase, s'il vous plaît.
Prenez un moment et réfléchissez à votre besoin . Quel problème espérez-vous résoudre avec JSL ? Voyez-vous maintenant pourquoi les scripts pour les sourires et les rires (au moins au début) peuvent être délicats ? Vous êtes beaucoup plus susceptible de lutter contre la courbe d'apprentissage si vous avez une raison d'atteindre le sommet. Je ne dis pas que vous ne pouvez pas prendre JSL pour le plaisir, juste que le combat est plus difficile sans la motivation supplémentaire.
La prochaine étape, et la dernière que nous allons couvrir dans cet épisode, est ce que vous faites avec ce besoin. La réponse simple est que vous allez faire deux choses. Tout d'abord, vous allez écrire cette idée (éventuellement nébuleuse) qui vous pousse à apprendre JSL en une seule phrase - un énoncé de problème. Et, je ne veux dire qu'une seule phrase. Assurez-vous que vous êtes capable de cristalliser l'idée en quelque chose de tangible sur lequel vous pouvez vous appuyer. Cela aidera également à limiter le fluage de la portée. Voici quelques exemples:
- Je souhaite automatiser toute la génération de graphiques pour mon rapport hebdomadaire dans un seul script.
- Je souhaite automatiser le travail de formatage d'un tableau de données fourni par le client.
- Je souhaite générer un ensemble de cartes de contrôle à partir d'un fichier de données fourni par mon système informatique d'usine.
Notez que je ne parle pas de détails; J'énonce simplement le point douloureux qui me fait regarder JSL. Et puis j'ai arrêté d'écrire.
Faites votre liste de punch
Vous avez votre énoncé de problème ? Bien! Nous allons maintenant écrire une série de livrables spécifiques pour votre script. Ce sera notre liste de pointage pour nous aider à localiser les ressources que SAS fournit pour apprendre JSL. Ne répertoriez aucune interface utilisateur graphique (GUI) ou interface utilisateur (UI) en particulier. Répertoriez les actions que le script doit effectuer. Voici des exemples pour les énoncés de problème ci-dessus :
Énoncé du problème 1 : Je souhaite automatiser toute la génération de graphiques pour mon rapport hebdomadaire dans un seul script.
Liste de punch :
- Extrayez un ensemble de données de notre base de données de production contenant les trois dernières semaines de données.
- Faire un graphique du temps par rapport à la température pour mon produit.
- Exécutez une analyse du temps par rapport à la température à l'aide d'un modèle polynomial.
- Exportez les graphiques et les rapports dans un fichier PowerPoint.
Énoncé du problème 2 : Je souhaite automatiser le travail de formatage d'un tableau de données fourni par le client.
Liste de punch :
- Renommez les colonnes en fonction des normes internes (en utilisant le tableau des spécifications).
- Attribuez des unités aux colonnes nécessaires (en utilisant le tableau des spécifications).
- Convertir Lat et Long en coordonnées géographiques.
- Changement unités défectueuses colonne de continu pour ordinal .
Énoncé du problème 3 : Je souhaite générer un ensemble de cartes de contrôle à partir d'un fichier de données fourni par mon système informatique d'usine.
Liste de punch :
- Importer des données à partir d'un emplacement réseau.
- Attribuez des limites de spécifications.
- Construire des cartes de contrôle.
Notez ici que je ne m'enferme pas trop. Je suis juste en train de construire une liste de choses que j'ai besoin que le script fasse. Puisque je suppose que vous n'avez jamais travaillé avec JSL auparavant, je suppose également que vous ne savez pas comment vous allez vous attaquer à ces problèmes. En les écrivant, vous savez ce que vous devez rechercher dans l'aide et les ressources. C'est là que je vais reprendre dans le prochain épisode de cette série.
Pensée finale pour cette semaine
Étant donné que cette série va s'étendre sur quelques semaines, j'ai décidé d'en faire plus une série de travail que quelque chose que vous venez de lire. Alors, prenez ces derniers points que j'ai faits comme devoirs. Si vous voulez une responsabilité ou des commentaires, mettez-les dans les commentaires ci-dessous. Je vais sonner si je peux vous aider ou vous faire savoir si vous pourriez avoir des problèmes sur la route.
Pour obtenir des points bonus, ouvrez une fenêtre de script dans JMP ( Fichier > Nouveau > Script ) et placez votre énoncé de problème et vos puces dans la fenêtre de script, une par ligne avec une double barre oblique ("//") au début de la ligne. Vous pouvez voir la couleur du texte passer au vert pour ces lignes dans l'éditeur de script JSL. Nous couvrirons ce que vous venez de faire dans un prochain épisode.
Oh, et si vous vous demandez qui est Vasily et pourquoi il devrait vous donner une phrase au singulier, jetez un œil ici .
Bonnes pensées.Pour apprendre JMP, la nouvelle édition de Sautez dans les scripts JMP , de Murphrey et Lucas m'a été utile.