목록에 포함된 값 할당안녕,
이 문제는 정말 당황스럽습니다.
테이블 1(dt_group)의 값을 테이블 2(dt_subset)에 할당하고 싶습니다.
따라서 표 2의 각 행을 반복한 다음 표 2 Product 열의 행을 표 1 ProductGroups 의 각 행과 비교하고 일치하는 문자열이 발견되면 표 1의 _LIMITS 열에 제한 값을 할당합니다. 어떻게 스크립트를 작성할까요?
1 번 테이블:

표 2:

이미 두 테이블의 문자열을 비교하는 데 문제가 있습니다 ...
Names Default To Here( 1 );
dt_subset = Current Data Table();
col_names = dt_subset << get column names( string );
dt_group = Data Table( "dt_groups" );
aa_limits = Associative Array( dt_group:Tests << get values, dt_group:Limits << get values );
For( i = 1, i <= N Items( aa_limits ), i++,
If( Contains( aa_limits, col_names[i] ),
curname = Column( dt_subset, col_names[i] ) << get name;
new_col = dt_subset << New Column( (curname || "_LIMITS"),
Numeric,
Continuous,
Format( "Percent", 12, 2 )
);
dt_subset << Move Selected Columns( new_col, After( Column( dt_subset, curname ) ) );
)
);
감사해요,
J
자동화 및 스크립팅Re: 목록에 포함된 값을 할당합니다.귀하가 지정한 작업을 수행하는 방법은 다음과 같습니다.
Names Default To Here( 1 );
dt_subset = Current Data Table();
col_names = dt_subset << get column names( string );
dt_group = Data Table( "dt_groups" );
//aa_limits = Associative Array( dt_group:Tests << get values, dt_group:Limits << get values );
For( i = 1, i <= N Rows( dt_group ), i++,
found = Contains( col_names, dt_group:Tests[i] );
If( found > 0,
//curname = Column( dt_subset, col_names[i] ) << get name;
Eval(
Eval Expr(
new_col = dt_subset << New Column( col_names[found] || "_LIMITS",
Numeric,
Continuous,
Format( "Percent", 12, 2 ),
set each value( Expr( dt_group:limits[i] ) )
)
)
);
dt_subset << Move Selected Columns( new_col, After( Column( dt_subset, col_names[found] ) ) );
)
);
dt_group:tests 열의 이름이 열 이름과 일치하는지 확인하세요. 테스트 값과 비교하여 열 이름에 추가 공백이 있을 수 있습니다.