Asignar valores contenidos en la lista.Hola,
Este problema realmente me desconcierta.
Quiero asignar valores de la tabla 1 (dt_group) a la tabla 2 (dt_subset).
Por lo tanto, repita cada fila de la Tabla 2 y luego compare las filas de la columna Producto de la tabla 2 con cada fila de los Grupos de productos de la tabla 1 y luego asigne los valores de Límites a la columna _LIMITS en la tabla 1 si se encuentra una picadura coincidente. ¿Cómo escribiría esto?
tabla 1:

Tabla 2:

Ya lo intenté y tengo problemas al comparar cadenas de ambas tablas...
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 ) ) );
)
);
Gracias,
J
Automatización y secuencias de comandosRe: Asignar valores contenidos en la listaAsí es como haría lo que has especificado.
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] ) ) );
)
);
Asegúrese de que sus nombres en la columna dt_group:tests coincidan con los nombres de las columnas. Es posible que tenga algunos espacios en blanco adicionales en los nombres de las columnas en comparación con los valores de las Pruebas.