안녕하세요 @jinsejoseph ,
에 구축 @txnelson 접근 방식에 따라 일부 내장 기능을 사용하는 단축 스크립트가 있을 수 있습니다. 이것은 스크립트의 최대 클릭과 최소 일반화에 의해 달성되었습니다.
이 접근 방식은 Combine 및 Text to column의 두 가지 명령을 사용합니다. Combine은 결측값을 무시한다는 장점이 있습니다. 이 경우 결측값 없이 연결로 사용됩니다.
그런 다음 별도의 열에 최종 데이터가 필요할 때 열에 대한 텍스트가 필요합니다.
그것이 효과가 있거나 귀하의 목적을 위해 추가 일반화가 필요한지 알려주십시오.
론
dt = New Table( "original data set",
Add Rows( 36 ),
New Column( "Data 01",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 1, 1, ., ., ., ., ., ., ., ., ., ., ., ., 11, 11, 11, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .] )
),
New Column( "Data 02",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., 2, 2, 2, ., ., ., ., ., ., ., ., ., ., ., ., 12, 12, 12, ., ., ., ., ., ., ., ., ., ., ., ., ., ., .] )
),
New Column( "Data 03",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., ., ., ., 3, 3, 3, ., ., ., ., ., ., ., ., ., ., ., ., 13, 13, 13, ., ., ., ., ., ., ., ., ., ., ., .] )
),
New Column( "Data 04",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., ., ., ., ., ., ., 4, 4, 4, ., ., ., ., ., ., ., ., ., ., ., ., 14, 14, 14, ., ., ., ., ., ., ., ., .] )
),
New Column( "Data 05",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., ., ., ., ., ., ., ., ., ., 5, 5, 5, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .] ),
Set Display Width( 59 )
),
New Column( "Data 06",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [10, 10, 10, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .] )
),
New Column( "Data 07",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., 20, 20, 20, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., 200, 200, 200, ., ., ., ., ., ., ., ., .] )
),
New Column( "Data 08",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., ., ., ., 30, 30, 30, ., ., ., ., ., ., ., ., ., ., ., ., 300, 300, 300, ., ., ., ., ., ., ., ., ., ., ., .] )
),
New Column( "Data 09",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., ., ., ., ., ., ., 40, 40, 40, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .] ),
Set Display Width( 67 )
),
New Column( "Data 10",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., ., ., ., ., ., ., ., ., ., 50, 50, 50, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .] )
)
);
// now we get to work
// Get the columns names to combine.
colNames = dt << get column names( string, continuous );
// Combine columns using list - here is the trick, it ignores missing values
dt << Combine Columns(
columns( eval (colNames) ),
Column Name( "combined" ),
Delimiter( "," ),
Multiple Response( 0 )
);
// Text to columns - now we can uncombine the data into as many columns there is actual data. this is robust to any number of events per row.
dt << Text to Columns(
columns( :combined ),
Delimiters( "," )
);