안녕,
저는 JSL 스크립팅을 처음 사용합니다. 동일한 일반 이름(특정 길이까지)에서 오는 열을 쌓고 싶습니다. 열 이름이 "66_CORR_B1_W00"인 경우, "66_CORR_B1_W01" 등 "66_CORR_B1_W12"까지. 이름이 지정된 단일 열에 있어야 합니다. ""66_CORR_B1". 그리고 이것은 "66_CORR_B2"로 시작하는 다른 열 그룹 이름에 대해 반복됩니다. 이러한 열에는 20개의 그룹이 있을 수 있습니다. 마지막으로 20개의 열 그룹에서 오는 20개의 열을 원합니다.
여기에 샘플 데이터 테이블을 첨부합니다.
미리 감사드립니다.
무하마드 라만
다음은 초기 토론 항목에 포함된 샘플 데이터에 대해 작동하는 스크립트입니다.
Names Default To Here( 1 );
dt = Data Table( "Sample_data" );
ColList = dt << get column names( string, numeric );
// Loop across the column names and find only the
// columns desired
For( i = N Items( ColList ), i >= 1, i--,
If( Contains( ColList[i], "66_CORR_B" ) == 0,
ColList = Remove( ColList, i, 1 )
)
);
// Sort the columns to ensure they are in the correct order
// for the contiguous stacking
ColList = Sort List( ColList );
// Stack the data
Data Table( "Sample_data" ) << Stack(
columns( ColList ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Number of Series( 2 ),
Contiguous
);
이 스크립트는 각 그룹화에 대해 동일한 수의 열이 없는 상황을 확인하지 않는다는 점에서 매우 기본적입니다. 선택될 열이 이름 집합을 따르지 않습니다.
하지만 진행 방법에 대한 아이디어를 제공해야 합니다.