항상 데이터 테이블의 열을 1차원 벡터로 첨자할 수 있었습니다.JMP 13에서는 데이터 테이블을 2차원 배열로 첨자화할 수 있습니다.다음은 큰 클래스를 사용하는 몇 가지 예입니다.(마지막 예는 열 첨자를 보여줍니다.)

dt = Open("$SAMPLE_DATA\Big class.jmp");
// fetch a scalar; neither subscript is a matrix
dt[ 4, "height"]; // 66
// fetch a matrix if either is a matrix, even if 1x1
dt[ [4], "height"]; // [66]
dt[ 4, {height}]; // [66]
// fetch a list if character columns are involved.
// notice the matrix is reversing the order
dt[ 4::2, "name"]; // {"JACLYN", "JANE", "LOUISE"}
// fetch an entire dimension using 0 for a subscript
dt[ 1,0 ]; // {"KATIE", 12, "F", 59, 95}
// fetch by column names
dt[[1,3,5],{height,weight}]; // [59 95, 55 74, 52 64]
// fetch by column numbers in matrix or list
dt[[1,3,5],[2 4 5]]; // [12 59 95, 12 55 74, 12 52 64]
dt[[1,3,5],{2,4,5}]; // [12 59 95, 12 55 74, 12 52 64]
// assignments work too. first, fetch a copy
copydt = dt[0,0]; // make a list of the table's data
// Clear the table
dt[0,0] = .; // all rows and cols are missing
// restore the table
dt[0,0] = copydt;
// reverse two columns, top to bottom and left to right
// (do it again to repair the table!)
dt[1::nrows(dt),{name,sex}] = dt[nrows(dt)::1,{sex,name}];
// set from a matrix
dt[2::3,{age,height,weight}] = [22 70 190, 23 73 200 ];
// column subscripting still works...
dt:name[4::7]; // {"JACLYN", "LILLIE", "TIM", "JAMES"}
데이터 테이블 첨자를 사용하면 이전보다 테이블 작업이 더 쉬워집니다. 단일(약간 복잡한) 명령문으로 행이나 열을 바꾸거나 한 테이블에서 다른 테이블로 블록을 복사하거나 하위 집합을 식별하는 행의 행렬과 열 목록을 사용하여 테이블의 하위 집합에서 행렬을 추출할 수 있습니다.
우와!또 다른 예기치 않은 JSL 개선.이건 굉장해!
이것은 목록의 속도 향상보다 훨씬 나을 수 있습니다.
크레이지@JMP
환상적입니다!, 이것은 "데이터 테이블 프로그래밍" 또는 오히려 매트릭스 기반 프로그래밍에 대한 많은 가능성을 열어줍니다.