やあみんな
グラフ ビルダーを使用してレポートのグラフを作成しています。 グラフに基準線を CL、LCL、UCL として追加するのが好きです。 テーブルの列(例:X)にそれらがあります。 私はスクリプトでそれらを呼び出そうとしています。
{参照線を追加(:X, "Solid", "Black", "LCL", 1 )}
しかし、それは機能しません
手伝っていただけませんか
ありがとう
ColMin と ColMax は、列から最小値または最大値を取得し、欠損値を無視します。
いくつかの簡単な例:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
New Column("Value", Numeric, "Continuous", Format("Best", 12), Set Values([., 1, ., ., 2]))
);
Show(ColMin(:Value));
Show(ColMax(:Value));
//A bit more complicated. Loc gets rows which have non missing value as a matrix
//Then we use that matrix to get values from Value column
//and finally from that we will use only the first index
Show(:Value[Loc(:Value << get as matrix)][1]);
//You can run this in parts to see how it works
//Loc(:Value << get as matrix)
//:Value[Loc(:Value << get as matrix)]
//Will return missing value
Show(:Value[1]);ありがとう。うまくいきましたが、列に欠落しているデータがあるかどうかはまだわかりませんが、データのあるセルを選択する方法はあります。 しかし、この場合、関数を使用するとうまくいきました。

ある種のサンプルデータテーブルを提供していただけますか? データの基本的な考え方を示している限り、実際のデータはありません。 データの見た目によっては、ColMin(dt:UCL) のような ColMin/ColMax 関数を使用できます。
@jthi 、 ありがとう。
管理限界を列として持っています。 1 つのセルを UCL[1] と呼ぶことができますが、問題は、これらの列の一部に空のセルがあり、最初のセルまたは他のセルである可能性があることです。 空でない列のセルから Ref 行を追加したい。
どうすればそれができるか分かりますか?
ありがとう
データに応じて、次のようにすることができます。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//add limit columns
dt << New Column("UCL", Numeric, Continuous, Set Each Value(70));
dt << New Column("CL", Numeric, Continuous, Set Each Value(60));
dt << New Column("LCL", Numeric, Continuous, Set Each Value(50));
gb = Graph Builder(Variables(X(:age), Y(:height)), Elements(Points(X, Y, Legend(4))));
axisb = (report(gb)[axisbox(2)]);
axisb << ({
Add Ref Line(dt:UCL[1], "Solid", "Black", "UCL", 1),
Add Ref Line(dt:CL[1], "Solid", "Black", "CL", 1),
Add Ref Line(dt:LCL[1], "Solid", "Black", "LCL", 1)
});または、これらの列を直接プロットします。

または、それらを仕様制限として列のプロパティに設定します。


これらはすべて、必要に応じてスクリプト化できます。
編集:
Control Limit Column プロパティが設定されていることを意味している場合は、列プロパティから制限を取得するために少し余分なスクリプトが必要になります (解析部分はほとんどの場合、ケースと制御制限の設定方法に少し依存しますが、考え方は同じである必要があります) 
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
obj = dt << Control Chart(Sample Size(:Sample), KSigma(3), Chart Col(:Weight, XBar, R));
Wait(0);
obj << Save Limits(in Column);
gb = Graph Builder(
Variables(X(:Sample), Y(:Weight)),
Elements(Points(X, Y, Legend(3)), Smoother(X, Y, Legend(4)))
);
//get Control Limits column property and parse limits
colProp = dt:weight << Get Property("Control Limits");
xbarLimits = Words(Char(colProp[1]));
xbarCL = Num(Word(3, xbarLimits[1], "()"));
xbarLCL = Num(Word(2, xbarLimits[2], "()"));
xbarUCL = Num(Word(2, xbarLimits[3], "()"));
//add control limits
axisb = (report(gb)[axisbox(2)]);
axisb << ({
Add Ref Line(xbarUCL, "Solid", "Black", "UCL", 1),
Add Ref Line(xbarCL, "Solid", "Black", "CL", 1),
Add Ref Line(xbarLCL, "Solid", "Black", "LCL", 1)
});