여보세요,
저는 현재 Join, Transpose 및 Update 함수를 사용하여 기본적으로 세 개의 "참조"테이블을 결합하는 스크립트를 작성하고 있습니다. 내 스크립트를 사용하면 첫 번째 "참조"테이블에 행을 추가 할 때마다 최종 출력 테이블을 업데이트 할 수 있습니다.
첫 번째 "참조"테이블의 열에있는 값을 기반으로 최종 출력 테이블에서 열 (즉, "그룹 열"함수)을 자동으로 그룹화하도록 스크립트를 편집 할 수 있는지 궁금합니다. 이 열은 조옮김 문제를 일으킬 수 있으므로 테이블 함수에 포함되지 않습니다. 이러한 그룹화는 최종 테이블을 업데이트 할 때마다 유지되는 것이 중요합니다.
귀하의 의견에 감사드립니다.
-브라이언 D.
이것은 당신이 찾고있는 종류입니까?
Names Default To Here( 1 );
dt1 = New Table( "table1", add rows(1), New Column( "test", set values( [1] ) ) );
dt2 = New Table( "table2", add rows(2),
new column( "x1", character, set values( {"a", "b"} ) ),
New Column( "x2", character, set values( {"c", "d"} ) )
);
If( dt1:test[1] == 1,
dt2 << combine columns( delimiter( "," ),
columns( dt2:x1, dt2:x2 ), Column Name( "Combined" ) )
);스크립팅 색인에서 그룹 열 사용에 대해 살펴보십시오.
당신이 말한 것을 수행하는 한 가지 방법이 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt2 = New Table( "groupings",
New Column( "ID", character, set values( {"name", "age", "sex", "height", "weight"} ) ),
New Column( "Type", character, set values( {"A", "B", "C", "B", "A"} ) )
);
// Split data into columns based on Type
dtSplit = dt2 << Split( Split By( :Type ), Split( :ID ), Sort by Column Property );
// Process through the Split data table, creating the groups in the first data table
For( Group = 1, Group <= N Cols( dtSplit ), Group++,
theGroup = Column( dtSplit, Group ) << get values;
For(i=nitems(theGroup), i>=1,i--,if(theGroup[i] == "",
remove from(thegroup,i,1)));
grouping = dt << group columns( theGroup ); <BR /><BR /><FONT face="Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace" size="2" style="background-color: #f5f5f5;" color="#b00000">dt << Rename Column Group( grouping, (column(dtSplit, group)<<GET name="">
);</GET></FONT>