画像をjslで保存する方法こんにちは、JMPer さん。jsl を使用して、プロセス能力のヒストグラム チャートのみを保存したいと考えています。 それを達成する方法はありますか?
自動化とスクリプト作成Re: 画像をjslで保存する方法これらのヒストグラムだけが必要で、他に何も必要ない場合は、配布プラットフォームから 1 つずつキャプチャするのが最も簡単である可能性があります。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
nw_collector = New Window("",
vlb = V List Box()
);
cols = {"NPN1", "PNP1"};
For Each({col_name}, cols,
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(Eval(col_name)),
Horizontal Layout(1),
Vertical(0),
Process Capability(Use Column Property Specs)
)
);
lb = Report(dist)[OutlineBox(col_name || " Capability"), OutlineBox("Histogram"), ListBox(1)];
pic = lb << Get Picture;
vlb << Append( // use outlinebox to add title
OutlineBox("Process Capability for " || col_name, pic)
);
dist << Close Window;
);
これらのイメージは、プロセス能力から、またはすべてを同時に開いている場合には配布からキャプチャできますが、この方法でレポート レイヤーをナビゲートする方が簡単です。

Re: 画像をjslで保存する方法最近、画像をデータ テーブルに保存すると、ユースケースによっては役立つことがわかりました。 これは、に基づいてそれを行う修正バージョンです@jthiさんの例です。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cols = {"NPN1", "PNP1"};
outputdt = New Table( "imgs",
Add Rows( nitems(cols) ),
New Column( "image", Expression, "None", Set Values( {} ) ),
);
i = 1;
For Each({col_name}, cols,
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(Eval(col_name)),
Horizontal Layout(1),
Vertical(0),
Process Capability(Use Column Property Specs)
)
);
lb = Report(dist)[OutlineBox(col_name || " Capability"), OutlineBox("Histogram"), ListBox(1)];
pic = lb << Get Picture;
outputdt:image[i] = pic;
i++;
dist << Close Window;
);Re: 画像をjslで保存する方法どうもありがとうございます。
しかし、別の質問がありました。画像をテーブルに保存した後、Excel ファイルとしてエクスポートできますか? これを実行しようとしましたが、画像のように表示されませんでした。

Re: 画像をjslで保存する方法私の知る限りではこれは不可能です。 その理由は次のとおりです。
1) Excel の画像はセルデータではありません。 これらは OLE オブジェクトであり、画像はシートの添付ファイルであると考えることができます。 JMP データテーブルの画像はセルデータです。 そのため、Excel と JMP では画像の見方が異なります。
2) Excel はおそらく JMP の画像の意味を理解することはできません。
Re: 画像をjslで保存する方法レポートを MS Word ファイルとしてエクスポートする方法は次のとおりです。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
nw_collector = New Window("",
vlb = V List Box()
);
cols = {"NPN1", "PNP1"};
For Each({col_name}, cols,
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(Eval(col_name)),
Horizontal Layout(1),
Vertical(0),
Process Capability(Use Column Property Specs)
)
);
lb = Report(dist)[OutlineBox(col_name || " Capability"), OutlineBox("Histogram"), ListBox(1)];
vlb << Append( // use outlinebox to add title
OutlineBox("Process Capability for " || col_name, lb);
);
dist << Close Window;
);
vlb << save msword("c:\TEMP\test.doc", native);

Re: 画像をjslで保存する方法画像を Excel に取得するには、jsl に加えて powershell (または python など) が必要になると思います。 次を使用して、JMP から PowerShell コードを実行できます。プログラムを実行()