안녕하세요. 열 때 테이블 이름 끝에 ".jmp" 확장자가 나타나는지 여부를 제어하는 방법을 아는 사람이 있습니까?
나는 몇몇 테이블을 열었을 때 그것이 거기에 있다는 것을 알아차렸지만 다른 테이블에는 그렇지 않았다. 이유를 모르겠습니다. 테이블 이름을 사용하는 스크립트를 작성 중이며 일관성이 필요합니다. 제어하는 데 사용할 수 있는 기본 설정이나 일부 명령이 있습니까? 모든 테이블에서 .jmp가 발견되면 임의로 제거하는 것을 고려했지만 이것이 첫 번째 선호 사항은 아닙니다.
JMP 프로 15.2.1
맥 OS 빅서 11.6
안녕하십니까 @nikles ,
이것은 귀하의 질문에 직접 대답하지는 않지만 이름으로 테이블에 대한 참조를 피하는 것이 좋습니다.내가 보는 가장 일반적인 문제는 누군가가 이미 관심 있는 이름으로 테이블을 열었거나 의도하지 않은 결과를 초래하는 스크립트에 대한 향후 변경 사항입니다.대신 해당 테이블에 대한 참조를 저장하고 스크립트의 나머지 부분에서 사용할 수 있습니다.특정 테이블이 이미 열려 있는 사용자를 믿고 있다면 해당 테이블을 검색할 수 있습니다. 여기 몇 가지 예가 있어요.
Names default to here(1);
dt1 = Open( "$Sample_data/iris.jmp" );
dt1 << Set Name("iris2");
dt1 = Open( "$Sample_data/iris.jmp" );
dt2 = Open( "$Sample_data/big class.jmp" );
//Get first matching table
dt3 = filter each({dt}, Get data table list(), Contains(dt << get Name,"iris"))[1]
//or ask the user which one to use
TableList = filter each({dt}, Get data table list(), Contains(dt << get Name,"iris"));
winSelectTable = New Window("Which Table?", << Modal, << Return Result,
lbTable = List Box(TableList)
);
dt3 = filter each({dt}, Get data table list(), (dt << get Name) == winSelectTable["lbTable"][1])[1];
//Now always refer to that table using the table reference
dt3 << Distribution( Continuous Distribution( Column( :Sepal length ) ) );
//If making new tables in your script, you can usually get those references
//from the functions that create them:
dt4 = (dt3 << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :Sepal length ) ),
Row Table( Grouping Columns( :Species ) )
)
)) << Make Into Data Table;
dt4 << Get Name()'
n, 먼저 검색한 다음 참조를 사용할 수 있습니다.