열 선택 문제시각화를 만들고 있는데, 열려 있는 모든 파일 이름을 목록 상자에 저장합니다. 그런 다음 특정 파일을 선택하여 해당 파일의 모든 숫자 열을 colListBox에 표시하려고 합니다. 이상하게도 이 기능은 제가 직접 만든 파일에만 적용되고 샘플 디렉터리의 두 파일에는 적용되지 않는 것 같습니다. 원하는 테이블을 '현재 데이터 테이블'로 설정해 보았지만, 테이블을 전환할 때 열을 어떻게 전환해야 하는지 알 수 없습니다.
현재는 다른 테이블이 아닌 내 defects.jmp 테이블에 대한 열만 로드합니다.
ns = newNameSpace();
// Get some Data
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" ); // JMP Library.
dt1 = Open( "$SAMPLE_DATA/Football.jmp" ); // JMP Library.
dt1 = Open( "defects.jmp" ); // Troy Local File.
// Get a list of open files
openDTs = {};
for(i=1, i<= nTable(), i++,
insertInto(openDTs, dataTable(i))
);
// Create File and Column Selector
selectionWindow = newWindow("Col Selection Test",
ns:tableBox = listBox("", << setwidth(200), << setNLines(5), maxSelected(1),
selectedTable = (ns:tableBox << getSelected)[1];
currentDatatable(dataTable(selectedTable));
colList = dataTable(selectedTable) << getColumnNames("Numeric");
show(colList);
ns:columnBox << setItems(colList);
);
ns:tableBox << setItems(openDTs);
ns:columnBox = colListBox({}, width(177), << setNLines(5), maxSelected(1));
hListBox(ns:tableBox, ns:columnBox);
);
'결함'을 선택하면 원하는 결과인 다음이 표시됩니다.

그러나 다른 테이블의 후속 선택은 열을 채우지 않습니다.

결함.jmp 테이블

다양한 방법을 시도해 보았지만 아무것도 효과가 없는 것 같아요??? 이상하네요.
어떤 제안이 있나요?
자동화 및 스크립팅Re: 열 선택 문제특정 데이터 테이블을 참조하므로 Col List Box를 교체해야 합니다.
Names Default To Here(1);
ns = New Namespace();
Open("$SAMPLE_DATA/Big Class.jmp");
Open("$SAMPLE_DATA/Football.jmp");
Open("$SAMPLE_DATA/Cars.jmp");
dts = Get Data Table List() << get name;
selectionWindow = New Window("Col Selection Test",
H List Box(
lb = List Box(
dts,
<< Set Width(200),
<< Set NLines(5),
maxSelected(1),
sel_vals = lb << Get Selected;
If(N Items(sel_vals) > 0,
(clb_collector << Child) << Delete Box();
clb_collector << Append(
clb = Col List Box(Datatable(sel_vals[1]),
<< Set Items(Data Table(sel_vals[1]) << Get Column Names("Numeric", "String")),
<< Set Data Type("Numeric"),
width(177),
<
<SETNLINES></SETNLINES>
Re: 열 선택 문제굉장하네요, 고맙습니다, Jarmo.
삭제하고 다시 추가하세요. 왜 그걸 생각하지 못했을까요?
또한, 매우 편리한 'Get Data Table List()' 함수가 있다는 사실을 알지 못했습니다.:)
빠른 답변 감사합니다.