測定データ内の仕様違反を色分けするために、Color Out of Spec Values() を使用しました。測定データを含む列が複数あり、各列の仕様外の値は、各パラメーター列の仕様に従って色分けされます。
各パラメータ列に対して、セルが色付きの場合は「1」、そうでない場合は「0」を割り当てる隣接列を作成します。
JSL 経由でこれを実現するにはどうすればよいでしょうか?
これは、1つの列の状況をどのように処理できるかを示しています
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
a = {1, 3, 5};
b = {2, 4, 6};
c = {7, 8, 9};
:height << color cells({{"Red", a}, {"blue", b}, {"yellow", c}});
:weight << color cells({{"Red", a}});
:age << color cells({{"Red", a}, {"blue", b}});
get_colored_cells = Function({dt, colname}, {Default Local},
colscript = Column(dt, colname) << Get Script;
l = Substitute(Name Expr(colscript), Expr(New Column()), List());
colored_cells = {};
Try(
colors = l["Color Cells"];
If(Type(colors[1]) == "List",
jmptrickery = 1;
,
jmptrickery = 0;
);
For Each({color}, colors,
If(jmptrickery,
Insert Into(colored_cells, color[2]);
,
Insert Into(colored_cells, color);
);
);
);
return(Matrix(colored_cells));
);
colname = "age";
// for single column
rows = J(1, N Rows(dt), 0);
colored_rows = get_colored_cells(dt, colname);
rows[colored_rows] = 1;
dt << New Column("result", Numeric, Nominal, Values(rows));
次に、ループするときに各列に色を付ける追加の列を作成できます。