신경 쓰지 마라, 나는 나 자신으로 그것을 이해했다 :
populateSpecs = Function({dt, dt1}, {Default Local},
// Loop over rows of dt1, and iff there is a matching column in dt set its property
clist = dt << GetColumnNames(Numeric, String);
for (r=1, r<=NRows(dt1), r++,
name = Column(dt1, "Variable")[r];
lsl = Column(dt1, "LSL")[r];
usl = Column(dt1, "USL")[r];
tar = Column(dt1, "Target")[r];
Eval(
Eval Expr(
if (Contains(clist, name), Column(dt, name) << Set Property ( "Spec Limits",
{LSL( Expr(lsl) ), USL( Expr(usl) ), Target( Expr(tar) ), Show Limits( 1 )})
)
)
)
)
);
populateSpecs는 JMP 13에서 더 이상 작동하지 않습니다 (내가 잘못된 것을하지 않는 한). 나는 "고칠"려고했으나 효과가 없다. 루프의 lsl, usl 및 tar의 현재 값을 평가하는 것과 관련 있다고 가정합니다. 그러나이를 작동시키는 방법을 이해할 수는 없습니다. 제안?
// ******************************************************************************************
// Given a table dt, and a table dt1 containing spec limits, populates spec limit properties in dt
// ******************************************************************************************
populateSpecs = Function({dt, dt1}, {Default Local},
// Loop over rows of dt1, and iff there is a matching column in dt set its property
clist = dt << GetColumnNames(Numeric, String);
for (r=1, r<=NRows(dt1), r++,
name = Column(dt1, "Variable")[r];
lsl = Column(dt1, "LSL")[r];
usl = Column(dt1, "USL")[r];
tar = Column(dt1, "Target")[r];
if (Contains(clist, name), Column(dt, name) << Set Property ( "Spec Limits",
{LSL( lsl ), USL( usl ), Target( tar ), Show Limits( 1 )})
)
)
);
아래의 코드에서 'dt'( 'dt1')는 데이터가 포함 된 테이블에 대한 참조입니다 (사양 제한). 코드를 사용하려면 '파일> 새로 만들기> 새 스크립트'를 실행하여 나타나는 창에 잘라내어 붙여 넣기 한 다음 '편집> 스크립트 실행'을 실행하십시오.
NamesDefaultToHere ( 1 ) ;
// 함께 작업 할 몇 가지 사양 제한 만들기
dt1 =
새 테이블 ( "사양 제한" ,
행 추가 ( 삼 ) ,
새 열 ( "방법" ,
캐릭터 ,
"명사 같은" ,
값 설정 ( { "NPN1" , "PNP1" , "PNP2" } )
) ,
새 열 ( "LSL" ,
숫자 ,
"마디 없는" ,
값 설정 ( [ 104.412948990151 , 164.389518443879 , - 136.122122529984 ] )
) ,
새 열 ( "목표" ,
숫자 ,
"마디 없는" ,
값 설정 ( [ 118.153221027253 , 297.017932186294 , 465.441998810449 ] )
) ,
새 열 ( "USL" ,
숫자 ,
"마디 없는" ,
값 설정 ( [ 131.893493064355 , 429.64634592871 , 1067.00612015088 ] )
)
) ;
// 사용할 데이터를 만듭니다.
dt =
새 테이블 ( "데이터" ,
행 추가 ( 10 ) ,
새 열 ( "NPN1" ,
숫자 ,
"마디 없는" ,
값 설정 (
[ 114.555760105678 , 120.043693059459 , 114.926510466106 , 111.756445551183 ,
111.545085144313 , 113.52359591958 , 111.749308571209 , 114.411433304976 ,
118.48975048042 , 113.171122695149 ]
)
) ,
새 열 ( "PNP1" ,
숫자 ,
"마디 없는" ,
값 설정 (
[ 322.616751775796 , 333.128079728678 , 348.978757216574 , 268.548094462492 ,
295.073165929223 , 323.833298568833 , 369.320490694357 , 342.987400315929 ,
315.52243608245 , 288.978183718528 ]
)
) ,
새 열 ( "PNP2" ,
숫자 ,
"마디 없는" ,
값 설정 (
[ 469.390289765043 , 437.781112798903 , 532.12814730405 , 373.058628529111 ,
338.900737368942 , 469.992171436316 , 563.084459366587 , 479.378108668814 ,
530.265608347575 , 421.454501563007 ]
)
)
) ;
// ************************************************* *******************************************
// 열 참조가 지정되면 spec liomits 속성을 설정합니다.
// ************************************************* *******************************************
setSpecLimits = 기능 ({ 기음 , 아일랜드어 , 우리 , 타르 } ,
cmd = Expr ( 기음 << SetProperty ( "사양 제한" , { LSL ( expr ( 아일랜드어 )) , USL ( expr ( 우리 )) , 목표 ( expr ( 타르 ))))))) ;
평가 ( evalexpr ( cmd )) ;
) ;
// ************************************************* *******************************************
// 테이블 dt와 spec 한계를 포함하는 테이블 dt1이 주어지면 dt에서 spec 제한 속성을 채 웁니다
// ************************************************* *******************************************
populateSpecs = 기능 ({ dt , dt1 } , { 기본 로컬 } ,
// dt1의 행을 반복하고, dt에 일치하는 열이있는 경우 해당 속성을 설정합니다.
클리스트 = dt << GetColumnNames ( 숫자 , 끈 ) ;
...에 대한 ( 아르 자형 = 1 , 아르 자형 <= NRows ( dt1 ) , 아르 자형 ++,
이름 = 기둥 ( dt1 , "방법" ) [ 아르 자형 ] ;
아일랜드어 = 기둥 ( dt1 , "LSL" ) [ 아르 자형 ] ;
우리 = 기둥 ( dt1 , "USL" ) [ 아르 자형 ] ;
타르 = 기둥 ( dt1 , "목표" ) [ 아르 자형 ] ;
만약 ( 내용 ( 클리스트 , 이름 ) , SetSpecLimits ( 기둥 ( dt , 이름 ) , 아일랜드어 , 우리 , 타르 )) ;
)
) ;
// dt1을 사용하여 dt의 spec 제한 열 속성 정의
기다림 ( 삼 ) ;
populateSpecs ( dt , dt1 ) ;
// Capability 플랫폼을 시작합니다 (열 속성을 자동으로 사용함).
칼 = dt << getColumnNames ;
dt << 능력 ( 와이 ( 평가 ( 칼 )))) ;