Make the Answer Button (the red triangle) your friend.Make the Answer Button (the red triangle) your friend.Make the Answer Button (the red triangle) your friend.Make the Answer Button (the red triangle) your friend.回答ボタン (赤い三角形) を友達にします。スクリプト作成の基本に関する私のシリーズへようこそ。 JMP 。 これは 3 番目のエントリーですシリーズあなたが一緒に作業できるように構成されています。 参加したばかりの場合は、このシリーズの以前のエントリをご覧になるとよいでしょう。 以下にそれらへのリンクをいくつか示します。
見てください。これから起こることに役立つでしょう。
よし、バックルを締めろ。 これまでのところ、実際にコードを操作したことはありません (JSL Scripting Index をカウントしない限り)。 それは今日で終わります。 今日は、JSL スクリプト ウィンドウを使用します。 それが不安を引き起こす人もいると思います。 深呼吸をして、それに取り組みましょう。
スクリプトのためのスクリプトを作成しないでください。
正直に言うと、コーディングは短期的には効率的なプロセスではありません。 1 回限りの分析やグラフィックスの場合、ドラッグ アンド ドロップ ツールは、ROI の点でほぼ常にコーディングを上回ります (開発作業にかかるコストはあまりにも大きいです)。 GUI ソリューションの方が高速であるかどうかに関係なく、スクリプトを使用することを主張する人もいます。 理由はわかりませんが、私は彼らの番号には入っていません。 ワークフローが困難または遠回りで、GUI を使用すると将来的にエラーが発生する可能性が大きくなる場合は、コーディングを検討します。 また、何かを繰り返し行う場合、自動化によって得られる効率によって時間を正当化できる場合には、コーディングを検討します。 だからといって、何かできるかどうかを確認するためだけにコードを書いているわけではありません。 あるいは、何か新しいことを学ぶためだけに、より複雑なコーディング方法を選択しないことも重要です。 しかし、それらのケースは例外であり、原則ではありません。
さて、私はおそらくその一般化で何人かの人々の鼻を微調整したでしょう。 この種の包括的な声明の問題は、それがかなり白黒はっきりしていることです。 真実は、人生のすべてのことと同じように、価値提案がポイント アンド クリック ソリューションとコーディングの間で迷うグレーゾーンであるということです。 グレーゾーンは、意欲的なプログラマーのほとんどが遭遇する場所でもあります。 彼らは、スクリプトを使用することでおそらくある程度の効率が得られることを知っていますが、どこから始めればよいのかわからない、または最初の学習作業で失われる時間が大きすぎるのではないかと心配しています。 JMP の設計の優れている点は、JSL を操作する際の効率をあまり損なうことなく、JSL をワークフローに導入するために使用できるツールを提供してくれることです。 そして、JMP のすべてのことと同様に、それは次から始まります。 JMP ワークフロー。
JMP ワークフロー (スクリプト編)
JMP ワークフローは通常、ユーザーが赤い三角メニューに移動して質問に答えることで終了します。 赤い三角ボタンのメニューのもう 1 つの機能は、ユーザーが作業内容を保存する方法 (スクリプトの保存) を提供することです。

スクリプトを保存するには主に 3 つの方法があります。
- データテーブルへ: このメソッドは、スクリプトを「テーブル スクリプト」としてデータ テーブルに保存します。これらのスクリプトは、JMP で特定のレポートを生成するために使用されるメソッドを保存し、移植可能です (つまり、同じ列名のデータ テーブル間でコピー アンド ペーストできます)。
- スクリプトウィンドウへ: このメソッドは、特定のレポートを再現するために必要な情報をスクリプト ウィンドウに保存します。 これは、複数のステップの操作や複数のレポートの作成に役立ちます。 スクリプト ウィンドウの内容をテーブル スクリプトに変換することもできます。
- クリップボードへ: このメソッドは、レポートに必要なコードを他の JMP プラットフォーム (クエリ ビルダー、アプリケーション ビルダーなど) に移動したり、大規模なプロジェクトのプロトタイプ コードを生成したりする場合に役立ちます。
本当に効率的なプログラマーは、コーディング セッション中にこれらの赤い三角形のオプションを広範囲に活用することがわかりました。 彼らは、コーディングを高速化するためにこれらを使用します (なぜ必要ないのにキーを連打するのでしょうか?) または、そうでなければ混乱しやすくデバッグが困難なプラットフォーム プロトタイプ コードを生成します。 初心者のプログラマーにとって、これらのオプションは、JSL について学び、JSL を利用するさまざまな機会を提供するとともに、JSL の操作の詳細を簡単に理解することができます。 ここからコーディングの冒険を始めたいと思います。
スクリプトの保存 > データテーブルへ
あなたがニューヨークまたはニュージャージー地域の JMP ユーザーである場合: こんにちは! 私はおそらくあなたの会社を訪れたことがあると思います。 (そうでない場合は、私に PM を送ってください。それを修正する必要があります。) そして、私が現場に来たとき、おそらくこの点について私が口論しているのを聞いたことがあるでしょう。作業内容を保存する必要があります。「作業内容を保存する」とは、スクリプトを保存…データテーブルに赤い三角メニューの下のオプション。 ワークフローの自動化に関する私の最初の経験に戻ると、これが私が始めた方法です。標準化されたグラフ ビルダー レポートの束を、定期的に更新する JMP テーブルに保存することから始めました。 この小さなヒントを、私はどれだけ強調してもしすぎることはありません。 ドクター・フーのソニック・ドライバーを持っているようなものです。 可能性は無限大。
簡単な例を見てみましょう。
- 開けるヘルプ > サンプル データ ライブラリ > Big Class Families.jmp
- 配布ダイアログを開きます。分析 > 分布
- 年齢、性別、身長、体重を入力してくださいY、列をクリックして、わかりました。

- [ディストリビューション] の赤い三角ボタン メニューで、次を選択します。スクリプトの保存 > データテーブルへ

- 名前を付けます (またはデフォルトを使用します)。 この場合にデフォルトを使用すると、データテーブルに次のように表示されます。配布2すでにあるから分布データテーブル内のスクリプト。

- 次に、左上隅のデータテーブルを見てください。 リスト内にテーブル スクリプトが表示され、その横に緑色のチェック マークが付いているはずです。

このシリーズの文脈では、これらのテーブル スクリプトは小さなアプレット (ミニ アプリケーション) またはマクロと考えることができます。 これらはデータテーブル間で直接移植可能です (コピーして貼り付けるだけです)。スクリプトで使用されている列名が同じである場合。 編集することもできます (いずれかを右クリックして、編集)。 したがって、スクリプト内で列名を編集する場合は、同じ列名を持たないデータ テーブルにも移植できますが、これは大したことではありません。 その方法については次の投稿で説明します。 テーブル スクリプトを使用して、小さなスクリプトを文字列化し、大規模なワークフローを自動化することもできます。 それについては次の投稿で説明します。
スクリプトを保存 > クリップボードに
赤い三角ボタンのメニューの最後のエントリについて説明します。クリップボードにアイテム。 このエントリは次のエントリと同じであるため、次に説明します。スクリプトウィンドウへオプションですが、あまり有益ではありません。 役に立たないというわけではなく、何が起こっているかが見えないだけです。 そこで、時間の都合上、その動作を説明します。 によって作成されたコードを受け取りますスクリプトを保存…データテーブルにそれをクリップボードに保存して、別のスクリプトのどこかに保存できるようにします。 便利ですよ。 そして、スクリプトのスキルが向上するにつれて、それがどのように役立つかがわかるようになります。 当面は、より興味深く便利なオプション、つまりスクリプト ウィンドウに保存するオプションに戻りたいと思います。
[スクリプトを保存] > [スクリプト ウィンドウへ]
次のエントリは、スクリプトの保存先…赤い三角形のメニューでは、私が議論している 3 つのメニューの中でおそらく最も有益なものを取り上げます。 スクリプトをスクリプト ウィンドウに保存すると、その言葉どおりの動作が行われます。スクリプト エディタ ウィンドウが作成され (スクリプト エディタについては次のエピソードで詳しく説明します)、そこに JMP で生成された JSL が設定されて、スクリプト ウィンドウにあったものを再作成します。作業していたウィンドウ。 このエントリの重要な点は、コードを研究し、JMP が生成したものから学ぶことができるということです。
Big Class を使用した簡単な例をもう一度見てみましょう。 保存したスクリプトの横にある緑色のボタンをクリックして、分析を再実行します。 次に、レポート ウィンドウで、 [スクリプトを保存] > [スクリプト ウィンドウへ]赤三角のメニューから。 ここで、JMP がスクリプト ウィンドウに何を書いたかを見てください。

JMP は、分布レポート Distribution(…); を作成しました。 JMP は、2 つの名目分布サブグループ: 名目分布(列(…)) と 2 つの連続分布サブグループ: 連続分布(列(…)) をレポートに追加しました。 JMP はスクリプトの最後に、非常に重要なコード「;」を挿入しています。 これは「Glue Operator」と呼ばれるもので、次のエピソードで詳しく説明します。 現時点では、これがコードの実行中に別の命令が来ることを JMP に知らせる方法であることだけを知っておく必要があります。 JMP がそれを自動的に最後に置くという事実により、初心者のスクリプト作成者の作業ははるかに複雑ではなくなります。
このエントリが非常に役立つ最後の点は、スクリプト ウィンドウを開いたままにした場合に何が起こるかということです。 先に進み、配布プラットフォームを閉じますが、スクリプト エディターは開いたままにしておきます。 次に、開いたデータ テーブルを使用して、高さを X 変数として、体重を Y 変数として使用して、Fit Y by X レポート ([分析] の下) を作成します。

次に、選択しますスクリプトをスクリプトウィンドウに保存また。

ウィンドウが別のエントリでどのように更新されたかに気づきましたか? 1 つのウィンドウの実行方法がわかれば、このスクリプトにより、先ほど作業していた 2 つのウィンドウが再作成されます。 そういえば…
スクリプトの実行
スクリプト ウィンドウにコードが表示されましたが、その後はどうすればよいでしょうか? おそらく、作成したコードを実行できるようにしたいと思うでしょう。 つまり、デスクの前を通る人々に好印象を与えるために、そのままにしておくのもいいですが、おそらく実行したほうがよいでしょう。 JMP でコードを実行するには、メイン メニュー、キーボード ショートカット、スクリプト ウィンドウの上部にあるツール バー、Enter キー、または単に右クリックするなど、いくつかの方法があります。 それぞれを簡単に見ていきましょう。
メインメニューとキーボードショートカット
のスクリプトの実行コマンドは Windows と MacOS で同じ場所にあります。 スクリプト ウィンドウを使用している場合は、以下に移動します「編集」>「スクリプトの実行」 。 このホットキーは次のとおりですCTRL+R窓用とCMD+R MacOS用。
スクリプト ウィンドウの上部にあるツール バー ボタン
スクリプト ウィンドウの上部を見ると、スクリプトの実行ボタンをクリックします (ツールバーを非表示にしていない場合)。 Windows では、テーブル スクリプトのボタンに似た、小さな緑色の再生ボタンのように見えます。 MacOS では、JMP Man と緑色の再生ボタンが付いた小さな JSL ドキュメントのように見えます。
Enter キーの使用
ここで、拡張キーボードのテンキーの右下部分にあるボタンを意味していることに注意してください。 そのボタンを押すと、JMP はカーソルが置かれている JSL の行を実行します。 JSL デバッガに慣れるまでは、これをよく使いました。
右クリック
コードを選択して右クリックすると、コンテキスト メニューが表示されます。スクリプトの実行オプションを一番下に移動します。
さまざまな形式のスクリプト実行を試して、最も気に入ったものを見つけることをお勧めします。 私はアプリケーション ビルダーを使用しているときを除いて、ホットキーを愛用しています。アプリケーション ビルダーでは、ツール バー オプションを使用することを好みます。 時間が経つにつれて、お気に入りの 1 つか 2 つに惹かれるでしょう。 また、補足として、これらのオプションはすべて、コードのセクションが選択されているか、カーソルが行末にあるか、カーソルが空白行にあるかに応じて、わずかに異なる動作をします。 したがって、それについても少し実験してみるとよいでしょう。
今週のまとめ
さて、信じられないかもしれませんが、JSL が非常に危険であるための十分な情報が得られました...もちろん、良い意味で。 私の言いたいことを教えてください。
今日作成したスクリプトを使用してみましょう。 New Window(); をラップして、少し調整を加えます。 JMP が作成した分布関数と二変量関数。 新しいウィンドウ(…)について詳しく知ることができます。スクリプトインデックスにあります。 New Window(…); の最初の部分に注意してください。は 1 行目から始まり、最後の部分は 10 行目です。 スクリプト エディターを設定して、それらを接続する美しい小さな線を描画して、それらがどこにあるかを確認できるようにしました (詳細は後ほど)。

次に、そのスクリプトのテキストをコピーして、データ テーブルに戻りましょう。 選択する新しいスクリプトデータテーブルの左上隅にある赤い三角メニューから。

スクリプト テキストをダイアログに貼り付け、わかりやすい名前を付けて、わかりました。

手順に従って進めていくと、データ テーブルのスクリプト領域にレポートが表示されるはずです。 実行すると、次のような結果が得られるはずです。

これが、2 日間の分析マラソンを 15 分間のカットアンドペーストの練習に変えるために私が使用した小さなトリックです。 少し時間をかけて、簡単に更新できる JMP データ テーブルにデータを取り込みました。 次に、そのレポートに必要なすべてのグラフを、次のコマンドを使用して単一の JSL ウィンドウにエクスポートしました。スクリプトをスクリプトウィンドウに保存。 これらを新しいウィンドウにラップし (すべてが 1 か所に収まるように)、そのスクリプトをデータ テーブルのテーブル スクリプトに配置しました。 私は JSL と協力していましたか? はい。 たくさんのコードを書いていましたか? いいえ。 効率が上がったでしょうか? 絶対に。
実際のコーディングに取り掛かっているので、この最後の点を強調する必要があります。 コーディングとは、あなたの能力を高めることです効率:
- いかに効率的に問題を解決できるか。
- レポートをいかに効率的に作成できるか (問題の解決に戻ることができるか)。
- データをいかに効率的に操作できるか。
このシリーズで作成するコードはコンピューターで生成されたもの、または単純なものです。 それで大丈夫です。 それは効率的コードではありませんセクシーコード。 私が大学にいたとき、私の教授(ミュージシャン仲間)の一人が、オフィスの外の壁に次のような言葉を掲げていました。「単純な音楽は、複雑な音楽よりも優れているわけでも、劣っているわけでもない」。 コードも同様です。 しばらく前、私にコーディングを教えてくれた人からこのことを思い出されました。 したがって、次のことを覚えておいてください。単純なコードが複雑なコードよりも優れている、または劣っているということはありません。 重要なのは、それが本来の目的を達成し、それを使用する人の効率や生産性が向上することだけです。
宿題
今週の演習では、問題ステートメントを振り返ります。 作成したパンチ リストをよく考えて、今日説明したワークフローを使用してコードを生成します。 コードは、使用する実際のコードでも、問題ステートメントに答えるために少し変更する必要があると思われるプロトタイプ コードでもかまいません。 赤い三角ボタンのメニューを使用して必要と思われる部分をできるだけ多く生成し、.jsl ファイルとして保存してみてください。 行き詰まった場合、または JMP に必要なコードを生成させる方法が見つからない場合は、コミュニティまたはここのコメントで助けを求めてください。 ヘルプを検索することを忘れないでください。また、コミュニティも検索できることを忘れないでください。
次回まで、頑張ってコーディングを楽しんでください!
こんにちは、マイクさん
これがどれほど素晴らしいブログシリーズであるかを言いたかっただけです。 私は比較的経験は豊富ですが、独学でプログラミングを学んだ人間です。これらの記事を読むと、長年にわたって苦労して学んだ重要なことの多くが強化されます... なぜ 20 年前にこれを書いて、私をすべての苦痛から救ってくれなかったのでしょうか?
真剣に、ありがとう。 JMP ではいつものように、ソフトウェアを使用するたびに何か新しいことを学びます。今日の新しいトリックは、テンキーの Enter キーを使ってコードを実行することです。誰が知っていたでしょうか?!
どうもありがとう、
アンドリュー