週に1回、新しいデータがMicrosoft Excelファイルに保存され、それを基に同じ内容のレポートを作成する必要があるとしましょう。この一連の操作を手動で行う代わりに、スクリプトを作成し、新しいMicrosoft ExcelファイルをJMPに読み込み、分析するところまでをすべて自動で行うことができます。次の例では、スクリプトを準備し、毎週実行する方法を示しています。
1. 新しいスクリプトウィンドウを開きます([ファイル]>[新規作成]>[スクリプト])。
2. スクリプトウィンドウに、「Solubil.xlsx」サンプルデータファイルを開くOpen()式を入力します。ファイルはJMPの「Samples¥Import Data」フォルダにあります。
dt = Open( "$SAMPLE_IMPORT_DATA/Solubil.xlsx" );
後で式を追加するので、式の最後に必ずセミコロンを付けてください。セミコロンには式をつなぐ役目があります。
3. [編集]>[スクリプトの実行]を選択し、Microsoft Excelファイルを読み込むスクリプトを実行します。
Microsoft Excelファイルがデータテーブルとして開きます。
メモ:
• Open()式にExcel Wizard引数を含めて、ファイルを読み込む前にワークシートをプレビューすることもできます。Microsoft Excelファイルからのデータの読み込みを参照してください。
• パス変数を使わず、ファイルの絶対パスまたは相対パスを指定することもできます。相対パスを指定した場合は、スクリプトを実行するときに、スクリプトとファイルが相対的に同じ場所になければなりません。絶対パスの場合は、そのスクリプトを使用する他のユーザが指定のパスでファイルにアクセスできることを確認してください。パス名の使用について詳しくは、パス変数を参照してください。
一変量の分布、三次元散布図、多変量の3つのレポートを作成するとしましょう。それぞれをGUIを使って作成し、スクリプトをスクリプトウィンドウに追加します。
1. 新しいデータテーブルを開いたまま、[分析]>[一変量の分布]を選択します。
2. 「Labels」以外の列をすべて選択し、[Y, 列]を選択します。
3. [OK]をクリックします。
4. Ctrlキーを押しながら「eth」の赤い三角ボタンをクリックし、メニューから[ヒストグラムオプション]>[度数の表示]を選択します。
6つすべてのヒストグラムに度数が表示されます。
5. 「一変量の分布」の赤い三角ボタンをクリックし、メニューから[スクリプトの保存]>[クリップボードへ]を選択します。
6. Open()式の1、2行あとにカーソルを置き、[編集]>[貼り付け]を選択します。
7. 最後の閉じ括弧のあとにセミコロンを入力します。
8. [グラフ]>[三次元散布図]を選択します。
9. 「Labels」以外の列をすべて選択し、[Y, 列]を選択します。
10. [OK]をクリックします。
11. 一変量の分布レポートで行ったように、三次元散布図のスクリプトをコピーしてスクリプトウィンドウに貼り付けます。最後に必ずセミコロンを加えます。
12. [分析]>[多変量]>[多変量の相関]を選択します。
13. 「Labels」以外の列をすべて選択し、[Y, 列]を選択します。
14. [OK]をクリックします。
15. 一変量の分布および三次元散布図で行ったように、多変量の相関のスクリプトをコピーしてスクリプトウィンドウに貼り付けます。
スクリプトは次のようになります。
dt = Open( "$SAMPLE_IMPORT_DATA/Solubil.xlsx" );
Distribution(
Continuous Distribution( Column( :eth ), Show Counts( 1 ) ),
Continuous Distribution( Column( :oct ), Show Counts( 1 ) ),
Continuous Distribution( Column( :cc14 ), Show Counts( 1 ) ),
Continuous Distribution( Column( :c6c6 ), Show Counts( 1 ) ),
Continuous Distribution( Column( :hex ), Show Counts( 1 ) ),
Continuous Distribution( Column( :chc13 ), Show Counts( 1 ) ),
);
Scatterplot 3D(
Y( :eth, :oct, :cc14, :c6c6, :hex, :chc13 ),
Frame3D( Set Grab Handles( 0 ), Set Rotation( -54, 0, 38) )
);
Multivariate(
Y( :eth, :oct, :cc14, :c6c6, :hex, :chc13 ),
Estimation Method( "Row-wise" ),
Scatterplot Matrix( Density Ellipses( 0 ), Shaded Ellipses( 0 ) )
);
これで、手動で行ったすべての手順を再現するスクリプトを取得できました。スクリプトを保存し、データテーブルおよびすべてのレポートウィンドウを閉じます。
1. スクリプトが表示されたスクリプトウィンドウで、[ファイル]>[上書き保存]または[ファイル]>[名前を付けて保存]を選択します。
2. ファイル名を指定します(たとえば、「週間レポート」)。
3. [保存]をクリックします。
更新されるMicrosoft Excelファイルが毎週同じ場所に保存され、かつ同じ列を含んでいる限り、スクリプトを実行するだけでレポートを自動的に作成できます。
1. 保存したスクリプトを開きます。
2. [編集]>[スクリプトの実行]を選択します。
JMPでMicrosoft Excelファイルが開き、3つのレポートが表示されます。
このスクリプトを他の人に送ることができます。同じ場所の同じMicrosoft Excelファイルにアクセスできる人であれば、JMPでスクリプトを実行し、レポートを見ることができます。
特定のスクリプトを、スクリプトウィンドウで開くのではなく、直接実行したい場合は、スクリプトの最初の行に次のコマンドを入力します。
//!
このコマンドの入力が最初の行でなかったり、同じ行に別の文字も入力されている場合、このコマンドは効力を持ちません。
このコマンドは、ファイルを開く際に、無効にすることができます。
1. [ファイル]>[開く]を選択します。
2. Ctrlキーを押しながらJSLファイルを選択し、[開く]をクリックします。
これにより、スクリプトは実行されずに、スクリプトウィンドウに表示されます。
また、ホームウィンドウでファイルを右クリックし、[スクリプトの編集]を選択することにより、スクリプトを実行せずスクリプトウィンドウに表示させることができます。