再び突破口へ!
数週間前、私は父と話していました。 彼とデートはしていないが、彼は使っているJMPバージョン1.0以降。 私が初めてマウスの使い方を学んでいたとき、Mac II-se の隣に 3.5 インチのディスクが置かれていたのを覚えています。 同じマシンは、アリゾナ州ツーソンで開催された 2019 Discovery Summit カンファレンスでも展示されました。 これがその写真です:

とにかく、父と私は話し合いました私の最初の Five Things ブログ シリーズ。 彼は、JMP でスクリプトを開始する方法について誰かがシリーズを書いてほしいと述べました。 その時、私はすでに他の記事をいくつか書いていたので、将来のプロジェクトのために隠しておきました。 しかし、人生には別の計画がありました。 1 週間後、私は顧客プレゼンテーションの手伝いを頼まれたのですが、驚いたことに、彼らが私に取り上げてほしいトピックの 1 つがスクリプトの概要でした。 どうやら宇宙はジョークが大好きのようだ。
とにかく、また行きます! 私の最初の 5 つのことシリーズの形式に従って、脚本を書き始めるときに誰もが知っておくべきだと思う 5 つのことをここに示します。 まずは概念的な考えから。
ニーズを見つけ、ニーズを満たす
スクリプトを開始する前に、その必要性を検討する必要があります。 スクリプトを作成したい場合は、何らかの理由がある可能性があります。 もしかしたら、仕事の効率を上げるためにそうしているのかもしれません。 もしかしたら、グループの分析方法を標準化したいと考えているかもしれません。 あるいは、あなたは実際、ニヤリと笑いたくてこの本を手に取ることを決めた稀な人々の一人かもしれません。 これらはいずれも悪い理由ではありませんが、最後の理由により状況が少し難しくなる可能性があります (理由は後ほど説明します)。 重要なのは、最初のスクリプトについて頭の中に理由と具体的な目的を持っている必要があるということです。
スクリプトがあり、さらにスクリプトもあります
いずれにせよ、私の考えでは、既存のデータに作用するスクリプトとデータを作成するスクリプトの 2 つの異なるタイプのスクリプトがあると考えています。 既存のデータを操作するスクリプトは、JMP 内のデータ テーブルおよび既存のプラットフォームと対話して、新しいユーザー定義の出力を作成します。 これらは、複数のレポートをウィンドウで囲むなどの単純な場合もあれば、アプリケーション ビルダーでカスタム作成したレポートのような複雑な場合もあります。 主な共通点は、このようなスクリプトは既存のコンテンツの変更。
2 番目のグループは、データを作成するスクリプトです。 データを作成するスクリプトには、シミュレーション ツール、カスタム グラフィックス、JMP ファイル内のメタデータを管理するツールなどがあります。このグループはもう少し曖昧ですが、共通のテーマは、スクリプトが既存のデータや分析の強化を超えた方法で JMP を拡張することです。 ほとんどの場合、これらのスクリプトは次のようになります。新しいコンテンツを作成するゼロから。
一般に、JMP スクリプト言語 (JSL) の学習を考えるときは、既存のコンテンツを変更するスクリプトから始めます。 ここから議論を始めていきます。 それでは、一歩下がって、なぜ JSL の学習に興味があるのかを考えてみましょう。
一言言ってください、ヴァシリー。 一文だけお願いします。
少し時間を取って、あなたのことについて考えてください必要。 JSL でどのような問題点に対処したいと考えていますか? ニヤニヤしたりクスクス笑ったりするためのスクリプト作成が (少なくとも最初は) 難しい理由がわかりましたか? トップに到達するための理由がある場合、学習曲線を戦い抜く可能性が高くなります。 絶対にJSLを手に入れることができないと言っているのではなく、余分なモチベーションがなければ戦いはより難しいというだけです。
次のステップ、そしてこのエピソードで取り上げる最後のステップは、そのニーズにどう対処するかです。 簡単な答えは、2 つのことを行うということです。 まず、JSL を学習するきっかけとなった (おそらく曖昧な) アイデアを 1 つの文、つまり問題文に書き留めます。 そして、私が言いたいのはただの一文だけです。 アイデアを具体化して、それを基にして構築できるようにしてください。 また、スコープのクリープを抑制するのにも役立ちます。 ここではいくつかの例を示します。
- 週次レポートのグラフ生成をすべて 1 つのスクリプトで自動化したいと考えています。
- 顧客が提供したデータテーブルの書式設定作業を自動化したいと考えています。
- 工場のコンピュータ システムから提供されるデータ ファイルから一連の管理図を生成したいと考えています。
具体的なことについて話しているわけではないことに注意してください。私は単に、私が JSL を検討するに至った問題点を述べているだけです。 そして、書くのをやめました。
パンチリストを作成する
問題文はわかりましたか? 良い! ここで、スクリプトの一連の具体的な成果物を作成します。 これは、JSL を学習するために SAS が提供するリソースを見つけるのに役立つパンチリストになります。 グラフィカル ユーザー インターフェイス (GUI) やユーザー インターフェイス (UI) を具体的にリストしないでください。 スクリプトが実行する必要があるアクションをリストします。 上記の問題ステートメントの例を次に示します。
問題点 1:週次レポートのグラフ生成をすべて 1 つのスクリプトで自動化したいと考えています。
パンチリスト:
- 過去 3 週間のデータを含むデータ セットを実稼働データベースから取得します。
- 製品の時間と温度のグラフを作成します。
- 多項式モデルを使用して、時間と温度の解析を実行します。
- グラフとレポートを PowerPoint ファイルにエクスポートします。
問題点 2:顧客が提供したデータテーブルの書式設定作業を自動化したいと考えています。
パンチリスト:
- 内部標準に基づいて列の名前を変更します (仕様のテーブルを使用)。
- 必要な列に単位を割り当てます (仕様のテーブルを使用)。
- 緯度と経度を地理座標に変換します。
- 変化欠陥のあるユニットからのコラム継続的なに序数。
問題点 3:工場のコンピュータ システムから提供されるデータ ファイルから一連の管理図を生成したいと考えています。
パンチリスト:
- ネットワーク上の場所からデータをインポートします。
- 仕様制限を割り当てます。
- 管理図を作成します。
ここで注意していただきたいのは、私は自分自身をあまりにも詰め込んでいるわけではないということです。 私はスクリプトで実行する必要があることのパンチリストを作成しているところです。 あなたはこれまでに JSL で働いたことがないことを想定しているので、これらの問題にどのように対処すればよいのかわからないことも想定しています。 それらを書き留めることで、ヘルプやリソースで何を探す必要があるかがわかります。 これについては、このシリーズの次回の記事で取り上げます。
今週の締めくくりの考え
このシリーズは数週間にわたる予定なので、ただ読むだけのシリーズではなく、より実践的なシリーズにすることにしました。 したがって、私が最後に述べたこれらの点を宿題として受け取ってください。 説明責任やフィードバックが必要な場合は、以下のコメントに記入してください。 私がお手伝いできることがあれば、また、今後何らかの問題が発生する可能性がある場合はお知らせします。
ボーナスポイントを得るには、JMP でスクリプトウィンドウを開きます (ファイル > 新規 > スクリプト) 問題のステートメントと箇条書きをスクリプト ウィンドウに 1 行に 1 つずつ入力し、行の先頭に二重スラッシュ (「//」) を付けます。 JSL スクリプト エディターでこれらの行のテキストの色が緑色に変わる場合があります。 あなたが今行ったことについては、次のエピソードで説明します。
ああ、ヴァシリーとは何者なのか、そしてなぜ彼があなたに特異な一文を与えなければならないのか疑問に思っているなら、見てください。ここ。
良い考えです。JMPを学ぶには、新版JMP スクリプトへのジャンプマーフリーとルーカスの「」が役に立ちました。