Assegnare i valori contenuti nell'elencoCIAO,
questo problema mi lascia veramente perplesso.
Voglio assegnare valori dalla tabella 1 (dt_group) alla tabella 2 (dt_subset).
Quindi scorrere ciascuna riga della tabella 2, quindi confrontare le righe della colonna Product della tabella 2 con ciascuna riga della tabella 1 ProductGroups e quindi assegnare i valori Limits alla colonna _LIMITS nella tabella 1 se viene trovata una stringa corrispondente. Come lo scripterei?
Tabella 1:

Tavolo 2:

Ho già provato e ho problemi con il confronto delle stringhe di entrambe le tabelle...
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 ) ) );
)
);
Grazie,
J
Automazione e scriptingRi: Assegnare i valori contenuti nell'elencoEcco come farei ciò che hai specificato
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] ) ) );
)
);
Assicurati che i tuoi nomi nella colonna dt_group:tests corrispondano ai nomi delle colonne. Potresti avere degli spazi vuoti aggiuntivi nei nomi delle colonne rispetto ai valori Tests.