コンピューターには、JMP14.3やJMP16.0などの複数のバージョンのJMPProがあります。 どのバージョンでも、レポートウィンドウのカスタムフォーマットのオプションはありません。 たとえば、「by」列を持つ2変量(Y x Xに適合)プラットフォームを使用し、「by」列に80個の一意の値があるとします。 すべてのプロットを単一の列または単一の行に含めると、プロットのレビューが遅くなります。 ドラッグアンドドロップを実行するのは面倒です。 私ができるようにしたいことは次のとおりです。
-レポート出力の行数と行ごとのプロットを指定します
-「by」列が2つある場合は、レポート出力の特定の行の最初の「by」列のすべてのプロットを配置するオプションがあります。 たとえば、2つの「by」列があり、5つの一意の組み合わせを作成するとします。列Aの値は{tea、coffee}で、列Bの値は{milk、honey、sugar}です。 データテーブルのどこにも、コーヒーと蜂蜜の組み合わせはありません。 レポート出力の最初の行には、「お茶」の3つのプロットが含まれ、それぞれがミルク、蜂蜜、砂糖のプロットになります。 レポート出力の2行目には、「コーヒー」の2つのプロットが含まれ、それぞれがミルクと砂糖に対応します。
私の質問は次のとおりです。
-これをJMPでネイティブに行う方法はありますか?
-そうでない場合、この方法でレポートウィンドウをフォーマットできるスクリプト/アドインはありますか?
自分でスクリプトを作成することもできると思いますが、時間がかかり、簡単なボタンを望んでいます。=)
ネイティブな方法は思い浮かびません(しかし、まだいくつかあるかもしれません)ので、ここにあなたが始めるためのいくつかのスクリプトのアイデアがあります:
各行にあるレポートの数を制御するには、N列のラインナップボックスを使用できる必要があります。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Food Journal.jmp");
maxValsPerRow = 4;
nw = New window("", Lineup Box(N Col(maxValsPerRow),
Bivariate(Y(:Calories), X(:Fat), By(:Food Category, :Meal))
));
2つの「by」列の場合、およびByが変更されたときに新しい行に分割する場合(Eval(EvalExpr())、使用法に注意):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Food Journal.jmp");
uniqVals = Associative Array(Column(dt, "Meal")) << get keys;
maxValsPerRow = 15;
nw = New window("", vlb = V List box());
For(i = 1, i <= N Items(uniqVals), i++,
vlb << Append(Eval(EvalExpr(
Lineup Box(N Col(Expr(maxValsPerRow)),
Bivariate(Y(:Calories), X(:Fat), By(:Food Category, :Meal), Where(:Meal == Expr(uniqVals[i])))
)
))
));