分配列表中包含的值你好,
这个问题确实令我困惑。
我想将表 1(dt_group)中的值分配给表 2(dt_subset)。
因此,遍历表 2 的每一行,然后将表 2 Product列的行与表 1 ProductGroups的每一行进行比较,然后如果找到匹配的字符串,则将 Limits 值分配给表 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
自动化和脚本回复:分配列表中包含的值以下是我将如何执行您所指定的操作
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 列中的名称与列名相匹配。与测试值相比,列名中可能会有一些多余的空格。