현재 데이터 테이블 선택안녕하세요,
나는 선택된 열에 사양 제한 정보를 추가하기 위해 작은 jmp_addin을 사용하고 있습니다.어쨌든, 내가 직면하는 문제는 그것을 실행할 때마다 항상 열려 있던 최신 데이터 테이블을 가져간다는 것입니다. 비록 다른 창에서 추가 기능을 실행하고 있더라도... jmp_addin을 강조 표시할 수 있는 방법이 있습니까? 선택한 데이터 테이블에서 스크립트를 실행하려고 합니까?currentdatatable이 이 작업을 수행할 것이라고 생각했지만 항상 열려 있는 최신 데이터 테이블에서 작동하는 것 같습니다. 때로는 이미 열려 있는 테이블에 사양을 변경/추가해야 하는 경우도 있습니다.
미리 감사드립니다!
dt = currentdatatable();
table=list("Spec1", "Spec2", "Spec3" );
r = Column Dialog(
Spec = Col List( "Columns to add Spec" ),
v list ("Select Product Spec Table", rb = Combo Box( table()))
);
dtedc = open("C:\myData\ADDIN\Spec Limit\"||table[r["rb"]]||".jmp",invisible);
for ( i=1, i<=N Items(r["Spec"]),i++,
for (j=1, j<= nrows(dtedc), j++,
if(as Name(r["Spec"]) == as Name(dtedc:Parameter),
Eval(
Substitute(
Expr(
Column(dt, r["Spec"]) << set property("spec limits",
{LSL( l), Target( t ), USL( u ), Show Limits(1)}
)
),
Expr( l ), dtedc:LSL,
Expr( t ), dtedc:Target,
Expr( u ), dtedc:USL
)
);
);
);
);
close(dtedc, nosave);
Re: 현재 데이터 테이블을 선택하세요코드 상단에 choose_data_table 함수 정의를 넣으면 작동합니다.
Re: 현재 데이터 테이블을 선택하세요네, 그렇군요. 나는 한 번에 많은 테이블이 열려 있는 경우가 많기 때문에 사용자에게 테이블을 선택하라는 메시지를 표시하는 방법을 바랐습니다. 그리고 현재 데이터 테이블에 대한 다양한 사용자의 인식에 의존하는 것은 과거에는 잘 작동하지 않았습니다. 단지 사용자에게 지정하라는 메시지를 표시하는 방법이 있기를 바랐을 뿐입니다. 그러나 이것은 해야 할 것이다.
Re: 현재 데이터 테이블을 선택하세요줄을 봤을 때
dt = choose_data_table();
나는 실행할 데이터 테이블을 선택할 수 있는 코드 초기 부분에 함수가 있다고 가정했습니다.하지만 그렇지 않다면 다음과 같이 줄을 변경하는 것이 좋습니다.
dt = current data table();
코드를 실행해 보세요.
Re: 현재 데이터 테이블을 선택하세요@txnelson
물어봐주셔서 감사합니다. 로그를 확인할 생각은 없었습니다. 그것은 말한다:
이름이 해결되지 않음: 'choose_data_table' 액세스 또는 평가 시 choose_data_table, choose_data_table() /*###*/
다음 스크립트에서는 /*###*/로 표시된 오류가 있습니다.
dt = choose_data_table() /*###*/;
표시(dt);
dt << Select Where( :Pad 요약 == "오버로드" );
dt << 색상( 22 );
dt << 마커( 11 );
dt << Select Where( :Pad 요약 == "곡선 오류" );
dt << 색상( 27 );
dt << 마커( 2 );
dt << Select Where( :Pad 요약 == "감지됨" );
dt << 색상( 4 );
dt << 마커( 12 );
dt << Select Where( :Pad Summary == "Position Misalign" );
dt << 색상( 3 );
dt << 마커( 2 );
dt << Select Where( :Pad 요약 == "음수(오정렬 포함)" );
dt << 색상( 1 );
dt << 마커( 2 );
dt << Select Where( :Pad 요약 == "Negative" );
dt << 색상( 1 );
dt << 마커( 0 );
dt << Select Where( :Pad 요약 == "연결 끊기" );
dt << 색상( 0 );
dt << 마커( 9 );
dt << Select Where( :Pad 요약 == "높은 CP 전류" );
dt << 색상( 56 );
dt << 마커( 24 );
dt << Select Where( :Run Status == "잘못됨" );
dt << 마커( 4 );Re: 현재 데이터 테이블을 선택하세요로그에 어떤 오류가 표시되나요?
Re: 현재 데이터 테이블을 선택하세요응, 노력해볼게. 죄송합니다. 저는 꽤 초보이고 어떤 스크립팅에 대해서도 공식적으로 교육을 받지 않았습니다. 이는 아마도 분명한 사실입니다. 다음을 사용하는 대신 이 스크립트에 데이터 테이블 선택기를 추가했습니다.
dt = 현재 데이터 테이블();
현재 데이터 테이블이 다시 포맷하려는 테이블인지 확인합니다. 데이터 테이블 선택 기능을 처음 구현했을 때 마치 마법처럼 작동하여 원하는 테이블을 선택할 수 있는 프롬프트가 생성되었습니다. 동료에게도 사용하라고 보냈는데 스크립트가 변경되지 않았음을 확인했음에도 불구하고 그에게는 작동하지 않았습니다. 저장된 스크립트를 열었는데 나에게도 작동하지 않았습니다. 그래서 이전 형식 지정 방법을 번갈아 사용하고 데이터 테이블 선택 방법으로 돌아가서 다시 작동했습니다. 나중에는 더 이상 그렇지 않았습니다.
불일치나 성공한 시도와 실패한 시도 사이의 변화에 대해 기술적으로 잘 설명할 수 없습니다. 내가 말할 수 있는 한 특별히 한 일은 없습니다. 이런 것들을 같이 해킹하다 보니 선호도나 기호를 지우거나 지정하는 등 제가 부족한 기본 원칙이 분명히 있습니다. 문제가 짧은 포럼 게시물의 범위를 벗어나는 것일 수도 있습니다.
어느 쪽이든 감사합니다
Re: 현재 데이터 테이블을 선택하세요"일관되지 않은 작동"이 무엇을 의미하는지에 대해 더 많은 정보가 필요하다고 생각합니다. 더 자세한 내용을 제공해 주실 수 있나요?
Re: 현재 데이터 테이블을 선택하세요안녕 @Jeff_Perkinson ,
나는 데이터 마커의 형식을 지정하는 매우 간단한 모듈에서 이것을 사용하려고 합니다. 처음에 스크립트를 설정할 때는 잘 작동했지만 그 이후로는 일관되지 않게 작동했습니다. 왜 그렇게 될지에 대한 아이디어가 있습니까? 열 제목과 값은 신뢰할 수 있습니다.
dt=choose_data_table();
show(dt);
dt << Select Where( :Pad Summary == "Overload" );
dt << Colors( 22 );
dt << Markers( 11 );
dt << Select Where( :Pad Summary == "Curve Error" );
dt << Colors( 27 );
dt << Markers( 2 );
dt << Select Where( :Pad Summary == "Detected" );
dt << Colors( 4 );
dt << Markers( 12 );
dt << Select Where( :Pad Summary == "Position Misalign" );
dt << Colors( 3 );
dt << Markers( 2 );
dt << Select Where( :Pad Summary == "Negative (w/ Misalign)" );
dt << Colors( 1 );
dt << Markers( 2 );
dt << Select Where( :Pad Summary == "Negative" );
dt << Colors( 1 );
dt << Markers( 0 );
dt << Select Where( :Pad Summary == "Disconnect" );
dt << Colors( 0 );
dt << Markers( 9 );
dt << Select Where( :Pad Summary == "High CP Current" );
dt << Colors( 56 );
dt << Markers( 24 );
감사합니다
Re: 현재 데이터 테이블을 선택하세요불행하게도 응답을 받지 못한 오래된 질문을 방금 발견했습니다.
현재 데이터 테이블() 활성 데이터 테이블 창에 대한 참조를 반환해야 합니다. 왜 귀하의 경우가 아닌지 잘 모르겠습니다.
그러나 보다 신뢰할 수 있는 방법은 사용자에게 공개 데이터 테이블에서 선택하라는 메시지를 표시하는 것입니다.
다음은 데이터 테이블 목록을 표시하고 사용자가 선택한 항목을 반환하는 작은 함수입니다.
choose_data_table=function({},
list = {};
For( i = 1, i <= N Table(), i++,
list[i] = Data Table( i ) << get name
);
win = New Window( "Select a data table", << Modal,
hb = H List Box(
Panel Box( "Choose a data table",
dt = List Box(
list,
max selected( 1 ),
chosen = Data Table( (dt << get selected)[1] );
show (chosen);
)
),
)
);
chosen);
다음과 같이 사용하세요:
dt=choose_data_table();
show(dt);