안녕하세요 여러분
보고서에서 그래프를 만들기 위해 그래프 빌더를 사용하고 있습니다. CL,LCL,UCL로 그래프에 기준선을 추가하고 싶습니다. 내 테이블의 열(예: X)에 있습니다. 스크립트에서 다음과 같이 호출하려고 합니다.
{참조 라인 추가(:X, "솔리드", "검은색", "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 , 감사합니다.
제어 한계를 열로 가지고 있습니다. 하나의 셀을 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)
});또는 해당 열을 직접 플로팅합니다.

또는 열 속성을 사양 제한으로 설정합니다.


필요한 경우 이러한 모든 스크립트를 작성할 수 있습니다.
편집하다:
제어 제한 열 속성이 설정되어 있다는 의미라면 열 속성에서 제한을 가져오기 위해 약간의 추가 스크립팅이 필요합니다(파싱 부분은 대소문자 및 제어 제한 설정 방법에 따라 약간 다르지만 아이디어는 동일해야 함) 
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)
});