안녕하세요 - 아래 요약 테이블을 생성할 때 아래 열 중 하나라도 존재하지 않는 경우 스크립트가 계속 실행되도록 JSL로 코딩하는 방법을 아는 사람이 있습니까?
dt3 << 요약(Sum( :실패, :평가되지 않음, :약));
감사 해요!
요약할 열 목록에 약간의 코드 안전 작업을 수행해야 합니다.
내 예는 다음과 같습니다.
dt3 = Current Data Table();
columns to summarize = {"fail", "not assessed", "weak"}; //columns you're interestd in, may or may not exist within table
column names = dt3 << Get Column Names( "String" ); //we need to grab the table columns to utilize only available columns
columns as names = {}; //we need to wrap both column names and our columns of interest in
For( i = 1, i <= N Items( column names ), i++, // 'As Name( ... )' to avoid issues with capitalization and such
columns as names[i] = As Name( column names[i] ) // loop here
);
columns to summarize within table = {};
For( i = 1, i <= N Items( columns to summarize ), i++,
If( Contains( columns as names, As Name( columns to summarize[i] ) ), // check to see that name exists as column header
Insert Into( columns to summarize within table, columns to summarize[i] )
)
);
Eval( Eval Expr(
dt3 << Summary( Expr( Substitute( columns to summarize within table, {}, Expr( Sum ) ) ) ) //fancy substitution for the summary table
) )