たとえば5列のJMPテーブルがあります
ColAはカテゴリ列です。 ColAにはさまざまな値のグループがあります。 列Aの3つのグループのみのサンプルデータ
ColA ColB ColC Y X
a x1 p1 9 PQR1
a x1 p2 11 PQR2
b x2 p1 12 ABC1
b x2 p2 14 ABC1
b x2 p3 19 ABC2
c x1 p3 16 FGT1
c x1 p3 22 FGT3
JSLスクリプトを作成しようとしています。これにより、次の場合にさまざまなhtmlファイルが生成されます。
列A(この例では3)の各グループに対して一方向プロットを実行します。 ただし、各プロットをColBとColCで分割する必要があります(したがって、上記のデータの場合、ColAがaの場合、ColBとColCに基づいて2つのプロットがあり、ColAの場合は3つのプロットがあります。はbであり、列Aがcの場合は1プロット)
最終的には、ColAグループのプロットごとにジャーナルを作成し、それらを個別にhtmlファイルに保存することを目標としています。
次のスクリプトを作成しましたが、残念ながら必要なスクリプトが得られません。 3つのプロットがポップアップ表示されますが、列Bと列CのBy句から予想されるように、必要な数のプロットが表示されているプロットはありません。
それぞれで同じプロットを取得している3つのhtmlファイルを取得しています。((あまりよく知らない評価/代替が必要な場合があります)。
dt = Current Data Table();
summarize(colgroup=by(:ColA));
outfile_path = "xxx\";
for (i=1, i<=N items(colgroup),i++,
idname = Char(colgroup[i]);
outfile = outfile_path || "_" || idname || ".html";
grph_obj = dt << Oneway(
Y( :Y ),
X( :X),
Means( 1 ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
By(:ColB, :ColC);
Where(:ColA == idname);
) << show window(0);
Wait(1);
jrn_grph = New Window("Report Group Col A", << Journal) ;
Wait(1);
grph_obj << Journal(Freeze All) << show window(0);
Wait(5);
jrn_grph << Set page setup(
margins( .5, .5, .5, .5 ),
scale( .99 ),
portrait( 0 ),
paper size( "Letter" )
);
jrn_grph << Save HTML(outfile);
Close All (Journals, "No Save");
)
私はそれをテストしていませんが、コードはセミコロンの代わりにコンマを使用して意図したとおりに機能すると思いますBy(:ColB、:ColC)。