JSL을 사용하여 구현하는 방법은 무엇입니까?안녕 모두,
JSL을 사용하여 Excel (첨부)에 설명 된 단계를 구현하려면 어떻게해야합니까? 또한 JSL을 사용하여 구현하려고하는 중간 단계의 일부를 수행하는 데 유용한 일부 JSL 스크립트를 첨부했습니다. 관련성이 높고 유용한 경우 복사 할 수 있습니까?
Bivariate(
Y( :y1_y2_y3 ),
X( :x1_x2_x3 ),
Fit Where(
:Case == "A",
Fit Special( yTran( "Log" ), {Line Color( "Dark Green" )} )
),
Fit Where(
:Case == "B",
Fit Special( yTran( "Log" ), {Line Color( "Medium Dark Red" )} )
),
Fit Where(
:Case == "C",
Fit Special( yTran( "Log" ), {Line Color( "Black" )} )
),
Fit Where(
:Case == "D",
Fit Special( yTran( "Log" ), {Line Color( "Magenta" )} )
),
Fit Where(
:Case == "E",
Fit Special( yTran( "Log" ), {Line Color( "Blue" )} )
),
Fit Where(
:Case == "F",
Fit Special( yTran( "Log" ), {Line Color( "Medium Dark Cyan" )} )
),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Min( 2.318802 ), Max( 6.35577464892554 ), Inc( 0.5 ), Minor Ticks( 1 ),
Add Ref Line( 0.526, "Solid", "Black", "yref_1", 1 ),
Add Ref Line( 1.21, "Solid", "Black", "yref_2", 1 ),
Add Ref Line( 2.421, "Solid", "Black", "yref_3", 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch(
{},
"2",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 11, 0 ), Min( 0.0000000003 ),
Max( 0.00001144934215806 ), Inc( 1 ), Minor Ticks( 1 ),
Add Ref Line( 0.000000579, "Solid", "Black", "x_ref3", 1 ),
Add Ref Line( 0.000000053, "Solid", "Black", "x_ref2", 1 ),
Add Ref Line( 0.0000000075, "Solid", "Black", "xref_1", 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{DispatchSeg( Line Seg( 1 ), {Line Color( "Dark Green" )} ),
DispatchSeg( Line Seg( 6 ), {Line Color( "Medium Dark Red" )} ),
DispatchSeg( Line Seg( 11 ), {Line Color( "Black" )} ),
DispatchSeg( Line Seg( 16 ), {Line Color( "Magenta" )} ),
DispatchSeg( Line Seg( 21 ), {Line Color( "Blue" )} ),
DispatchSeg( Line Seg( 26 ), {Line Color( "Medium Dark Cyan" )} )}
)
)
)Re : 어떻게 JSL을 사용하여 구현합니까?안녕 짐,
Case = A / B / C와 두 번째 조건이 Column2 == "20/30/40"에서 충족되면 로그 선형 그림 (Y 축 로그)을 수행하려고합니다. 아래 스크립트를 게시했습니다 (2 가지 약간 다른 방법). 그러나 아래 오류가 발생합니다. 내가 어디로 잘못 가고 있니?
예상치 못한 "CPP". 아마도 누락 된 ","또는 ")이있을 것입니다.
"Fit Where"함수의 인수를 구문 분석하려고합니다.
6 행 28 열 : : 사례 == "A"► 열 2 == "20"
1. 첫번째 방법 :
이변 량 (
Y (: 이름 ( "Y1")),
X (: X1),
// 특수 색상 맞춤 (yTran ( "로그"), {선 색상 ({213, 72, 87})}),
어디에 맞추기 (
: 사례 == "A"및 Column2 == "20"
맞춤형 특수 (yTran ( "로그"), {선 색 ( "진한 녹색")}),
),
SendToReport (
급파(
{},
"1",
ScaleBox,
{Min (60.936357421875), Max (81.283232421875), Inc (2),
마이너 틱 (1), 라벨 행 (
{주요 격자 표시 (1), 보조 격자 표시 (1)}
}}
),
급파(
{},
"2",
ScaleBox,
{Scale ( "Log"), 형식 ( "Scientific", 11), 최소 (0.0000002),
Max (0.000634968347287381), Inc (1), Minor Ticks (1),
행에 레이블 지정 (
{주요 격자 표시 (1), 보조 격자 표시 (1), 글꼴 크기 설정 (12)}
}}
)
)
)
2. 두 번째 방법 :
이변 량 (
Y (: 이름 ( "Y1")),
X (: X1),
// 특수 색상 맞춤 (yTran ( "로그"), {선 색상 ({213, 72, 87})}),
어디에 맞추기 (
: 사례 == "A"
: Column2 == "20",
맞춤형 특수 (yTran ( "로그"), {선 색 ( "진한 녹색")}),
),
SendToReport (
급파(
{},
"1",
ScaleBox,
{Min (60.936357421875), Max (81.283232421875), Inc (2),
마이너 틱 (1), 라벨 행 (
{주요 격자 표시 (1), 보조 격자 표시 (1)}
}}
),
급파(
{},
"2",
ScaleBox,
{Scale ( "Log"), Format ( "Scientific", 11), Min (0.0000002),
Max (0.000634968347287381), Inc (1), Minor Ticks (1),
행에 레이블 지정 (
{주요 격자 표시 (1), 보조 격자 표시 (1), 글꼴 크기 설정 (12)}
}}
)
)
)
감사,
광고
Re : 어떻게 JSL을 사용하여 구현합니까?안녕하세요 짐, 나는 (한 번에 하나씩)
dt << 칼럼 별 마커 (: 웨이퍼 ID);
dt << 그룹 별 마커 (: 웨이퍼 ID);
아래 그림과 같이하기 전에, 내가 원하는 것을하지 않습니다.
Biv = dtStack << 이변 량 (
와이(...
감사,
광고
Re : 어떻게 JSL을 사용하여 구현합니까?Jim에게 명확한 설명을 해주셔서 감사드립니다. 그것을 밖으로 시도하자.
문안 인사,
광고
Re : 어떻게 JSL을 사용하여 구현합니까?JMP 데이터 테이블이 Documents 폴더에 저장되고 "filename.jmp"라고 불리는 Open () 함수에 대해서는 올바른 것입니다.
코드
dtStack = dtSumm << Stack(
columns( :x1, :x2, :x3, :y1, :y2, :y3 ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Name( "Non-stacked columns" )(Keep( :Case )),
Number of Series( 2 ),
Contiguous
);
스택 데이터 테이블 플랫폼을 사용하고 있습니다.
테이블 ==> 스택
데이터 테이블에 대해 수동으로 실행하고 스크립트와 동일한 결과를 얻을 수 있습니다. 그러나 기본적으로 스택 될 두 세트의 열 x1, x2, x3 및 y1, y2, y3의 동일한 y 변형이 있습니다. 따라서 Columns () 명세에서 6 개의 열을 지정하고 Number of Series (2)를 설정합니다. Contigous 요소는 x1, y1 ..... 등을 번갈아 나타내지 않고 중간에 목록을 분할 함을 나타냅니다. 열 집합을 스택하면 측정 값이 Data라는 새 열에 입력됩니다. 그리고 열 이름이 Label이라는 새 열에 배치됩니다. 우리가 2 세트의 컬럼을 쌓아 올리므로, 데이터 및 데이터 2, 라벨 및 라벨 2 열이 있습니다.
// Clean Up data table
dtStack << delete columns( {"Label", "Label 2"} );
dtStack:Data << set name( "x1_x2_x3" );
dtStack:Data 2 << set name( "y1_y2_y3" );
이 코드는 레이블과 레이블 2 열을 삭제합니다. 필요하지 않으므로 데이터와 데이터 2는 더 의미있는 이름으로 바뀝니다.
JMP 문서 사용에서 스택 플랫폼에 대한 내용을 읽을 수 있습니다.
도움말 ==> 서적 ==> JMP 사용하기
Re : 어떻게 JSL을 사용하여 구현합니까?안녕 짐,
나는 엑셀 파일을 열었고 JMP 워크 시트로 저장했다. 그럼 내가 사용하고있어.
dt = 열다 ( "C : \ Users \ user_name \ Documents \ filename.jmp" );
이 형식이 맞습니까?
코드를 구현 한 후에 줄거리를 얻을 수 없다고 생각합니다. 데이터 세트 매개 변수가 매개 변수 이름 등에서 조금씩 다르기 때문에 코드를 더 잘 이해해야합니다.
"Label", "Label2", Data, Data 2 란 무엇인지 설명해 주시겠습니까? 내 데이터 집합에 명시 적으로 정의해야합니까? 지금은 정의되지 않았습니다. 내가 만든 데이터 세트 테이블에 정의 된 것을 볼 수 없습니다.
dtStack = dtSumm << 스택 (
열 (: x1, : x2, : x3, : y1, : y2, : y3),
소스 레이블 열 ( "상표" ),
누적 데이터 열 ( "데이터" ),
이름 ( "비 누적 열" ) (Keep (: Case)),
시리즈 수 ( 2 ),
인접한
);
// 데이터 테이블 정리
dtStack << 열 삭제 ({ "상표" , "라벨 2" });
dtStack : 데이터 << 세트 이름 ( "x1_x2_x3" );
dtStack : 데이터 2 << 세트 이름 ( "y1_y2_y3" );
문안 인사,
광고
Re : 어떻게 JSL을 사용하여 구현합니까?스프레드 시트 레이아웃은 어떻게 생겼습니까? 행 및 열 테이블 ..... JMP 데이터 테이블과 같은 경우 구문은 다음과 같습니다.
dt = open("<PATH to="" your="" excel="" file="">");</PATH>Re : 어떻게 JSL을 사용하여 구현합니까?안녕 짐,
오! 나는 .... 나도 몰랐다는 것을 안다. 이것을 설명해 주셔서 대단히 감사합니다. 그거 좋을 거 같아 ! Excel 파일에서 JMP로 데이터를 읽습니다. 이 일을하는 현명한 방법이 있습니까?
문안 인사,
광고
Re : 어떻게 JSL을 사용하여 구현합니까?알았어. 나는 분명히해야 했어. 코드를 보여주기 위해 예제 데이터 테이블을 만들 수 있도록 필자가 제공 한 모든 코드가 데이터 테이블을 만드는 데 사용되었습니다. Excel 또는 데이터가있는 곳에서 직접 데이터 테이블을 입력 할 수 있습니다. 스크립트의 유일한 실제 부분은 필요합니다. 일단 데이터를 읽으면 다음과 같습니다.
// Create the Median Table
dtSumm = dt << Summary(
Group( :Case ),
Median( :x1 ),
Median( :x2 ),
Median( :x3 ),
Median( :y1 ),
Median( :y2 ),
Median( :y3 ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
);
dtStack = dtSumm << Stack(
columns( :x1, :x2, :x3, :y1, :y2, :y3 ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Name( "Non-stacked columns" )(Keep( :Case )),
Number of Series( 2 ),
Contiguous
);
// Clean Up data table
dtStack << delete columns( {"Label", "Label 2"} );
dtStack:Data << set name( "x1_x2_x3" );
dtStack:Data 2 << set name( "y1_y2_y3" );
Biv = dtStack << Bivariate(
Y( :y1_y2_y3 ),
X( :x1_x2_x3 ),
Fit Where(
:Case == "A",
Fit Special( yTran( "Log" ), {Line Color( "Dark Green" )} )
),
Fit Where(
:Case == "B",
Fit Special( yTran( "Log" ), {Line Color( "Medium Dark Red" )} )
),
Fit Where( :Case == "C", Fit Special( yTran( "Log" ), {Line Color( "Black" )} ) ),
Fit Where(
:Case == "D",
Fit Special( yTran( "Log" ), {Line Color( "Magenta" )} )
),
Fit Where( :Case == "E", Fit Special( yTran( "Log" ), {Line Color( "Blue" )} ) ),
Fit Where(
:Case == "F",
Fit Special( yTran( "Log" ), {Line Color( "Medium Dark Cyan" )} )
),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Min( 2.318802 ), Max( 6.35577464892554 ), Inc( 0.5 ), Minor Ticks( 1 ),
Add Ref Line( 0.526, "Solid", "Black", "yref_1", 1 ),
Add Ref Line( 1.21, "Solid", "Black", "yref_2", 1 ),
Add Ref Line( 2.421, "Solid", "Black", "yref_3", 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch(
{},
"2",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 11, 0 ), Min( 0.0000000003 ),
Max( 0.00001144934215806 ), Inc( 1 ), Minor Ticks( 1 ),
Add Ref Line( 0.000000579, "Solid", "Black", "x_ref3", 1 ),
Add Ref Line( 0.000000053, "Solid", "Black", "x_ref2", 1 ),
Add Ref Line( 0.0000000075, "Solid", "Black", "xref_1", 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{DispatchSeg( Line Seg( 1 ), {Line Color( "Dark Green" )} ),
DispatchSeg( Line Seg( 6 ), {Line Color( "Medium Dark Red" )} ),
DispatchSeg( Line Seg( 11 ), {Line Color( "Black" )} ),
DispatchSeg( Line Seg( 16 ), {Line Color( "Magenta" )} ),
DispatchSeg( Line Seg( 21 ), {Line Color( "Blue" )} ),
DispatchSeg( Line Seg( 26 ), {Line Color( "Medium Dark Cyan" )} )}
)
)
);
BTW, 어떤 방법으로 데이터를 입력 하시겠습니까? 문제가 있다면 문제도 해결할 수 있습니다.
Re : 어떻게 JSL을 사용하여 구현합니까?안녕 짐,
빠른 해결책을 가져 주셔서 감사합니다! 네가 도와 주시면 몇 가지 질문이 더 있습니다.
이 JSL 스크립트 큰 데이터 집합을 쉽게 확장됩니다 궁금합니다.
1. 그것은 당신이 각각의 경우 "A", "B", .... "F"의 인스턴스의 숫자를 하드 코드 한 것 같습니다.
각각의 사례가 2 ~ 3 개일 경우에는 그렇게 할 수 있지만, "A", "B", "F"에 대해 각각 100 개의 인스턴스가 있다면 어떻게 될까요? 그런 다음 아래 코드에서 "A"를 100 번 반복해야합니까?
값 설정 (
{ "에이" , "에이" , "에이" , "비" , "비" , "비" , "기음" , "기음" , "기음" , "디" , "디" , "디" , "이자형" , "이자형" ,
"이자형" , "에프" , "에프" , "에프" }
2. 아래 열과 같이 열 변수 "x1", "x2".... ""y3 "에 대한 각 값을 입력했습니다. 다시 말하지만, 저는 각 변수에 대해 1000 행 이상의 데이터를가집니다. 그런 다음 각 변수의 모든 값을 입력하는 것이 더 번거로워 보입니다.
새 열 ( "x1" ,
숫자,
"마디 없는" ,
체재 ( "베스트" , 12 ),
값 설정 (
[ 1.61428690437666 , 10.1190080125253 , 6.73662807021899 , 8.01466805846589 ,
6.68158041069847 , 5.7112128821412 , 2.84688009253613 , 8.24143884561082 ,
7.93797713835799 , 7.60500406538651 , 6.10376724167353 , 7.49901866647003 ,
6.75689551558008 , 8.47900118679714 , 8.31129239105815 , 2.25776032554558 ,
3.47918899345697 , 7.54113635144146 ]
더 큰 데이터 세트를 위해 이것을 구현하는 성가신 방법이 없다면 알려주시겠습니까?
문안 인사,
광고
Re : 어떻게 JSL을 사용하여 구현합니까?안녕 짐,
자세한 답장을 보내 주셔서 감사합니다. 고맙습니다. 시도해보고 알려 드리겠습니다.
문안 인사,
광고
Re : 어떻게 JSL을 사용하여 구현합니까?다음은 원하는 테이블과 출력을 생성하는 간단한 스크립트입니다.

Names Default To Here( 1 );
//dt = Current Data Table();
dt = New Table( "Example",
Add Rows( 18 ),
New Column( "Case",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "B", "B", "B", "C", "C", "C", "D", "D", "D", "E", "E",
"E", "F", "F", "F"}
)
),
New Column( "x1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[1.61428690437666, 10.1190080125253, 6.73662807021899, 8.01466805846589,
6.68158041069847, 5.7112128821412, 2.84688009253613, 8.24143884561082,
7.93797713835799, 7.60500406538651, 6.10376724167353, 7.49901866647003,
6.75689551558008, 8.47900118679714, 8.31129239105815, 2.25776032554558,
3.47918899345697, 7.54113635144146]
)
),
New Column( "x2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[5.47938474920207, 6.18766439511594, -6.23767012529314, 2.09002457182833,
4.8113689086524, 7.03651072603935, -3.04550198990374, 11.8452893346908,
-3.05733149292515, 1.30049361512582, 1.01507442873964, 2.09317649939774,
7.41286830274582, 7.34393706953047, 6.35773586672512, 6.45581826439945,
14.9562095399741, 10.0634660675686]
)
),
New Column( "x3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[11.2656869903562, 2.97417375436776, 2.7691367152201, 9.75641926280114,
9.70879299538533, 7.16035571615696, 9.79872763007834, 2.99361815483094,
7.34989095258795, 11.8347155967071, 13.840944548243, 6.91213509473278,
12.9829334337807, 4.69016477226892, 6.5541527241742, 10.449257706405,
8.71860875295487, 2.75703552707507]
)
),
New Column( "y1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[0.0000000021187715823, 0.0000000007070458434, 0.0000000021305415897,
0.000000002187751479, 0.0000000015163549964, 0.0000000006662765716,
0.0000000013568530851, 0.0000000022185225971, 0.0000000008126367887,
0.0000000014370349256, 0.0000000025500410724, 0.0000000019674810787,
-0.0000000005869971784, 1.82706897276242e-10, 0.0000000014877347984,
6.66831811738687e-11, 0.000000001044052589, 0.0000000019169076496]
)
),
New Column( "y2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[0.0000000111634035809, 0.0000000150934383918, 0.0000000092632031811,
0.0000000014897580792, 0.0000000129447047918, 0.0000000038471184132,
0.000000020378302554, 0.0000000084939824652, 0.0000000306867238143,
0.0000000083704926078, -0.0000000019845073029, 0.0000000221987482462,
-1.12731592825071e-10, 0.0000000341691546291, 0.0000000243189078007,
0.0000000142112672565, 0.0000000157219085064, 0.0000000163609065787]
)
),
New Column( "y3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values(
[0.0000001356080410826, 0.0000003110230604448, 0.0000000731675260394,
0.0000000683020170167, 0.0000000166660984052, 0.0000001245784167858,
0.0000001917424143272, 0.0000000592217777822, 0.0000000682651021339,
0.0000001310868753601, 0.0000000929550618751, 0.0000001752103336127,
0.0000000988598859477, 0.0000000990272186345, 0.000000121745118966,
0.0000001243361078368, 0.0000001992144095096, 0.000000090951358824]
)
)
);
// Create the Median Table
dtSumm = dt << Summary(
Group( :Case ),
Median( :x1 ),
Median( :x2 ),
Median( :x3 ),
Median( :y1 ),
Median( :y2 ),
Median( :y3 ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
);
dtStack = dtSumm << Stack(
columns( :x1, :x2, :x3, :y1, :y2, :y3 ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Name( "Non-stacked columns" )(Keep( :Case )),
Number of Series( 2 ),
Contiguous
);
// Clean Up data table
dtStack << delete columns( {"Label", "Label 2"} );
dtStack:Data << set name( "x1_x2_x3" );
dtStack:Data 2 << set name( "y1_y2_y3" );
Biv = dtStack << Bivariate(
Y( :y1_y2_y3 ),
X( :x1_x2_x3 ),
Fit Where(
:Case == "A",
Fit Special( yTran( "Log" ), {Line Color( "Dark Green" )} )
),
Fit Where(
:Case == "B",
Fit Special( yTran( "Log" ), {Line Color( "Medium Dark Red" )} )
),
Fit Where( :Case == "C", Fit Special( yTran( "Log" ), {Line Color( "Black" )} ) ),
Fit Where(
:Case == "D",
Fit Special( yTran( "Log" ), {Line Color( "Magenta" )} )
),
Fit Where( :Case == "E", Fit Special( yTran( "Log" ), {Line Color( "Blue" )} ) ),
Fit Where(
:Case == "F",
Fit Special( yTran( "Log" ), {Line Color( "Medium Dark Cyan" )} )
),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Min( 2.318802 ), Max( 6.35577464892554 ), Inc( 0.5 ), Minor Ticks( 1 ),
Add Ref Line( 0.526, "Solid", "Black", "yref_1", 1 ),
Add Ref Line( 1.21, "Solid", "Black", "yref_2", 1 ),
Add Ref Line( 2.421, "Solid", "Black", "yref_3", 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch(
{},
"2",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 11, 0 ), Min( 0.0000000003 ),
Max( 0.00001144934215806 ), Inc( 1 ), Minor Ticks( 1 ),
Add Ref Line( 0.000000579, "Solid", "Black", "x_ref3", 1 ),
Add Ref Line( 0.000000053, "Solid", "Black", "x_ref2", 1 ),
Add Ref Line( 0.0000000075, "Solid", "Black", "xref_1", 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{DispatchSeg( Line Seg( 1 ), {Line Color( "Dark Green" )} ),
DispatchSeg( Line Seg( 6 ), {Line Color( "Medium Dark Red" )} ),
DispatchSeg( Line Seg( 11 ), {Line Color( "Black" )} ),
DispatchSeg( Line Seg( 16 ), {Line Color( "Magenta" )} ),
DispatchSeg( Line Seg( 21 ), {Line Color( "Blue" )} ),
DispatchSeg( Line Seg( 26 ), {Line Color( "Medium Dark Cyan" )} )}
)
)
);Re : 어떻게 JSL을 사용하여 구현합니까?안녕 짐,
각 사례 (A / B / C)에 대해 다른 마커 스타일 (*, z, x 등)과 마커 색상 (빨강 / 파랑)을 선택하고 JSL을 사용하여 구현하려면 어떻게해야합니까? 스택 JMP 테이블의 각 행에 마커 스타일 및 색상을 수동으로 할당 할 수 있지만 JSL에서 쉽게 수행 할 수 있습니까?