NEW 데이터 테이블에 그룹 열 쌓기여보세요,
나는 다음 코드를 가지고있다. 마지막 줄에서 일부 열을 쌓으려고합니다. 문제는 내가 스크립트를 실행할 때 코드가리스트 길이에 따라 1 이상을 볼 필요가 있지만 스택이 1 개 밖에 안되는 것을 볼 수있다.
);<BR /><BR />dt = open("C:\JMPCommunity\DataTableExample.jmp");
s_list = {sen1, sen2, sen3, sen4, sen5};
test_list ={test1, test2, test3};
tokens_list={Col1, Col2, Col3};
g_list={g1,g2,g3};
For(j = 1, j<=Length(test_list), j++,
For( i = 1, i<= Length(s_list), i++,
dt << New Column ( test_list[j] ||"_" || s_list[i],
Numeric,
Continuous,
Formula(
Num(Word( i, As Column(Column(tokens_list[j] )), "|" ))
)
)
);
g_list[j] = dt << Group Columns(:( || test_list[j]|| "_" || s_list[1]), Length(s_list));<BR /> dt << Stack(columns(dt << Get Column Group( g_list[j] );),<BR /> Source Label Column( "Label_" || test_list[j] ),<BR /> Stacked Data Column( "Data_" || test_list[j])<BR /> );<BR />
내 질문은 다음과 같습니다.
1. 문제를 어떻게 해결할 수 있습니까?
2. 새롭게 열리는 데이터 테이블은 어떻게 새로운 dt가 될 수 있습니까?
dt 예제가 첨부 됨
다시 : 새 데이터 테이블에 그룹 열을 스태킹여보세요,
나는 문제가 있다고 생각한다. 열리는 마지막 테이블이 필요한 것보다 많은 행을 생성합니다.
예를 들어 첫 번째 DT 스택은 10 행의 데이터로 구성됩니다. 마지막 DT에는 250 개의 데이터 셀이 포함되어 있습니다!
이것은 X25입니다. 자, 실제로 10 ^ 6 이상의 테이블을 가지고 있다면 극단적으로 곱 해져 컴퓨터 데이터 처리가 종료 될 것입니다.
첨부 된 예에 따르면, 레이블 및 데이터의 세 개의 누적 열을 가져야합니다.이 열은 셀의 열 10 개입니다.
MultipleSeriesStack 생각하지만 내 코드에 삽입하는 방법을 모르겠습니다.
다시 : 새 데이터 테이블에 그룹 열을 스태킹Group Columns ( 'Group Columns'(메시지)에서 ': Column ('추가)를 수정 한 후 스크립트는 3 개의 다른 테이블을 생성한다는 점을 제외하면 작동합니다. 각 테이블에는 그룹화 된 열 집합이 하나씩 있습니다. 새로 생성 된 테이블에 열을 계속 추가하려는 경우 (새로 작성한 테이블을 원하는대로 생각할 수 있음) 새로 작성한 테이블을 참조해야합니다. 다음과 같은 한 가지 방법이 있습니다.
Names default to here( 1 );
s_list = {sen1, sen2, sen3, sen4, sen5};
test_list ={test1, test2, test3};
tokens_list={Col1, Col2, Col3};
g_list={g1,g2,g3};
dt = list();
dt[1] = open("C:\Users\a384681\Downloads\DataTableExample.jmp");
For(j = 1, j<=Length(test_list), j++,
For( i = 1, i<= Length(s_list), i++,
dt[j] << New Column ( test_list[j] ||"_" || s_list[i],
Numeric,
Continuous,
Formula(
Num(Word( i, As Column(Column(tokens_list[j] )), "|" ))
)
)
);
g_list[j] = dt[j] << Group Columns(:Column(test_list[j] || "_" || s_list[1]), Length(s_list));
dt[j+1] = dt[j] << Stack(
columns(dt[j] << Get Column Group( g_list[j] );),
Source Label Column( "Label_" || test_list[j] ),
Stacked Data Column( "Data_" || test_list[j])
);
);