DoE を作成する場合、通常、各列は 2 つまたは 3 つの異なる値 (高い値と低い値、および場合によっては中心値) の混合です。 DoE のセットアップを自分自身と同僚にわかりやすく説明するために、各列のセルに手動で色を付けています。 高い値は赤、中央の値は緑、低い値は青で表示されます。 この着色プロセスを自動化すると有益です。 上記の説明に従って、選択した列のセルに色を付けるスクリプトを実行できるようにしたいと考えています。理想的には、スクリプトは、選択された複数の列に対してこのプロセスを同時に実行できる必要があります。 そのようなスクリプトがどのように見えるかについて何か提案はありますか?
低、高(場合によっては中)をどのように定義しますか? 常に最大 3 つの値しかありませんか? その決定が下された後は、ここで説明されている方法で値の色の列プロパティを使用してスクリプトを作成するのはかなり簡単です。 Eval Insert、Eval Expr、Parse、および Substitute を使用して、式を別の式に挿入します。 JMP 提供のコードに基づく ( << 選択した列を取得してループする)
Data Table("Untitled 10"):Column 1 << Set Property(
"Value Colors",
{1 = -15113984, 2 = -5682409}
);
ありがとう@jthi 、
ほとんどの場合、最大値と最小値の 2 つの値しかありません。 中心値の場合は、最小値と最大値の算術平均です。の値の色の列プロパティは、スクリプトを作成しなくても、間違いなく正しいツールです。 複数の列で同時に使用すると、プロセスが確実に簡素化されます。
以下はスクリプトの例です (Transform Each() および For Each() により JMP16 が必要です)。
Names Default To Here(1);
If(Is Empty(Current Data Table()),
Throw("No tables open.");
, // else
dt = Current Data Table();
);
sel_cols = dt << Get Selected Columns();
If(N Items(sel_cols) == 0,
Throw("No columns selected");
);
// color "globals", fairly free to choose which type of "JMP Color" to use
LOW_COLOR = 67;
MIDDLE_COLOR = -13948116;
HIGH_COLOR = "Light Green";
For Each({col_ref}, sel_cols,
col_name = col_ref << get name; // I don't like using :COLNAME format at all
// get values in column
// Associative Array seems to have a bug so we use Summarize
Summarize(dt, val_strs = By(Column(col_name)));
// Summarize returns list of characters, so we will convert them to numbers
vals = Transform Each({val}, val_strs, Num(val));
min_val = Remove From(vals, 1)[1];
max_val = Remove From(vals, -1)[1];
// This method should be fairly robust, but it does looks complicated
weird_jmp_list = {};
Eval(Substitute(Expr(
Insert Into(weird_jmp_list, Expr(_value_ = _color_))
),
Expr(_value_), min_val,
Expr(_color_), LOW_COLOR
));
Eval(Substitute(Expr(
Insert Into(weird_jmp_list, Expr(_value_ = _color_))
),
Expr(_value_), max_val,
Expr(_color_), HIGH_COLOR
));
// color rest with middle color
For Each({val}, vals,
Eval(Substitute(Expr(
Insert Into(weird_jmp_list, Expr(_value_ = _color_))
),
Expr(_value_), val,
Expr(_color_), MIDDLE_COLOR
));
);
Column(dt, col_name) << set property( "Value Colors", weird_jmp_list) << Color Cell By Value(1);
);

ありがとう!
直接機能する完璧なソリューション!
これは、実際には JMP の DOE プラットフォームの一部である必要があります。 ウィッシュリストに追加してもよろしいですか@jthi ?
@Steffen_Bugge確かに、新しいアイデアが頭に浮かんだら、ウィッシュリストに書き込むことをお勧めします