リストに含まれる値を割り当てるこんにちは、
この問題は本当に私を困惑させます。
テーブル 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 列の名前が列名と一致していることを確認してください。Tests 値と比較して、列名に余分な空白がある場合があります。