序章
少しスクリプトを書くだけで、JMP で時間を節約するためのあらゆる種類の楽しいユーティリティやツールを簡単に作成できます。 これらのツールは、作業の分析部分で時間を節約するのに役立つ場合もあれば、この例のように、作業のより日常的な側面で時間を節約するのに役立つ場合もあります。 最近見たこの素晴らしいブログに@Craige_Halesそして、JMP を使用してディレクトリ ツリー マップを表示するユーティリティを作成できないかと考えました。これは、どのファイルがハード ドライブ上のスペースを占有しているかを確認する便利な方法です。 JMP はこれを簡単に実行できることがわかりました。 したがって、ディレクトリ ツリーマップを作成するフリーウェア ユーティリティはたくさんありますが、JMP で自分で作成することは、スクリプト作成を楽しく学ぶ方法となります。 実際にどれだけ簡単かを知るために読んでください。

JMP が作成できるコードの作成に時間を無駄にしないでください。
JMP でスクリプトを実行するときに最初に留意すべきことは、JMP はバックグラウンドでほぼすべてのスクリプトをすでに実行しているということです。 その結果、JMP がすでに提供しているものをつなぎ合わせるだけで済みます。 場合によっては、もう少し深く掘り下げる必要があるかもしれません。 以下に示すユーティリティは、JMP がすでに行っていることと実際のコーディングを少し組み合わせたものです。
ステップ 1: JMP で実行する
このユーティリティでは、ユーザーが選択したフォルダー内のファイル (およびサブフォルダー内のすべてのファイル) のリストと、各ファイルのサイズが必要です。 それができたら、サイズごとの各ファイルのツリーマップが必要になります。 JMP には、Multiple File Import および Graph Builder を介して、これらの両方のニーズに対応するツールが用意されています。 スクリプトを使用せずに最初の概念実証を行う手順は次のとおりです。
1. データの取得: 「ファイル...複数のファイルをインポート」を選択します。 私は、誰もが持っているはずの JMP インストール ディレクトリを選択しました。 [サブフォルダーを含める] ボタンを選択した後、中央のテーブルを右クリックし、[データ テーブルに作成] を選択します。


2. ツリーマップの作成:グラフ ビルダーを起動し、[ファイル名] を [Y] ゾーンにドラッグし、[ファイル サイズ] を [サイズ] ゾーンにドラッグします。 上部からツリーマップを選択します。次に、コントロール パネルの [レイアウト] ドロップダウンから [Squarify] を選択します。

ステップ 2: スクリプトを使用して要素をまとめる
スクリプトを使用せずにユーティリティを作成したので、あとはそれをスクリプトとしてまとめるだけです。 ここでは、必要なものとその実行方法の概要を示します。
- フォルダーを選択してください:簡単。 Pick Directory() コマンドのスクリプト インデックスからコピー/ペーストします。
- 複数ファイルのインポートからテーブルを取得します。難しいかもしれません。 プラットフォームに、それ自体の一部をデータテーブルとしてエクスポートするように指示する必要があります。
- ツリーマップを作成します。簡単。 すでに作成されているグラフからコピー/ペーストします。
GUI を使用する場合、以前は 2 つのステップが必要でしたが、現在は 3 つのステップが必要です。 ただし、フォルダーを選択するという新しいステップは難しくありません。 Scripting Index エントリを見ると、ディレクトリの選択コマンドを実行すると、そこにあるものをコピーして独自のスクリプトに貼り付けることができます。スクリプトを少し変更して、変数に選択されたディレクトリを保存します。フォルダ。

ステップ 1 が完了した、これまでのスクリプトは次のとおりです (そして、3 年後の私たちにこれが何だったのかを思い出させるための冒頭のコメントがあります)。
//script to make treemap of directory structure
Names Default To Here( 1 );
folder = Pick Directory( "Select a directory" );
次のステップは少し複雑ですが、学べば簡単です。レポートレイヤーのスクリプトを作成する方法(優秀で自由な人々に対するあからさまなプラグJMP スクリプト コース)。 基本的に、右クリックしてテーブルをエクスポートするのではなく、スクリプトを使用して [複数ファイルのインポート] ウィンドウの中央からテーブルをエクスポートする必要があります。 これを行うには、GUI を介して複数ファイルのインポート プラットフォームを起動し、GUI を使用してプラットフォームのスクリプトを取得し、次に GUI を使用して、JMP が中間のテーブルを呼び出すものを見つけます。 これには次の 3 つの手順が必要です。
- 複数のファイルをインポートするためのスクリプトを取得します。 [ファイル...複数のファイルのインポート] を選択し、フォルダーを選択して、[サブフォルダーを含める] を選択して、[スクリプトをスクリプトに保存] ウィンドウ ボタンを押します。 これで、メイン スクリプトの最後にコピー/ペーストできるスクリプトが完成しました。
- 複数のファイルのインポート スクリプトを変更します。上部近くの引用符で囲まれたフォルダーを単語に置き換えますフォルダそして変更しますデータのインポート端から端までのセクションウィンドウの作成実際にはデータをインポートしたくないからです。 追加テンプウィン =スクリプトのこの部分の先頭に追加して、後でこのウィンドウを参照できるようにします。 これらの調整後、このセクションのスクリプトは次のようになります。
tempwin = Multiple File Import(
<<SET folder=""></SET>
- GUI で右クリックする代わりに、スクリプトを使用してデータ テーブルをエクスポートします。私達はことを知っていますテンプウィンここでは、ファイル サイズのテーブルが含まれる [複数ファイルのインポート] ウィンドウ全体を指しますが、JMP がそのテーブルを何と呼んでいるのかはまだわかりません。 これを確認するには、[編集] メニューが表示される場所でテーブル自体を右クリックする必要があります (端近くが機能します。テーブルの中央には、[編集] メニューの代わりにテーブルのコンテキスト メニューが表示されます)。 「編集」→「ツリー構造の表示」を選択します。 次に、以下に示すように、[ツリー構造] ウィンドウで、参照するテーブルが MFI ウィンドウで強調表示されるまでエントリをクリックします。

これは、TableBox(1) が JMP でこのテーブルと呼ばれるものであることを意味します。 それがわかったので、JMP にそのテーブルに対して「データ テーブルにする」などの処理を行うように指示できます。これは、スクリプトに以下の行を追加することで実行できます。
dtFiles = tempwin[Table Box(1)] << Make into data table;
あとは、作成済みのグラフ ビルダーからスクリプトをコピーし (赤い三角形...スクリプトを保存...クリップボードに)、スクリプトの最後に貼り付けるだけです。これで完了です。 スクリプト全体は次のようになります。
Names Default To Here( 1 );
folder = Pick Directory( "Select a directory" );
tempwin = Multiple File Import(
<<SET folder=""></SET>
3. テストと改善
この時点で、スクリプトは意図したとおりに動作し、作業は完了です。 ただし、スクリプトを改善するためにできることがいくつかあります。 まず、「複数ファイルのインポート」セクションには、削除できる余分な行がたくさんあります。 次に、プラットフォームにどのデータ テーブルを使用するかを確認することをお勧めします。 dtファイル<< before Graph Builder は、後でこのスクリプトを実行するときに複数のデータ テーブルを開いている場合に問題が発生しないようにするのに役立ちます。 これらの変更を加えると、スクリプトははるかに短くなり、理解しやすくなります。実際には、いくつかの簡単なステップがつながっているだけです。
Names Default To Here( 1 );<BR />
folder = Pick Directory( "Select a directory" );
tempwin = Multiple File Import(
<<SET folder=""></SET>
結論
いくつかの重要なポイントを列挙すると適切です。
- JMP は、スクリプト作成時にほとんどの作業を実行します。
- JMP がすでに作成しているウィンドウからデータを取得することは、JMP を拡張して作業を容易にするツールにする良い方法です。
- おそらく最も良いのは、ここで立ち止まる必要がないことです。
このツールは簡単に変更して、選択したファイル/フォルダーを開く方法、大きな古いファイルを見つけるために日付ごとに色を付ける方法、フォルダー/サブフォルダーごとに整理する方法、またはその他の修正や改善を追加することができます。