Werte zuweisen, die in der Liste enthalten sindHallo,
dieses Problem bereitet mir wirklich Rätsel.
Ich möchte Werte aus Tabelle 1 (dt_group) der Tabelle 2 (dt_subset) zuweisen.
Iterieren Sie also durch jede Zeile von Tabelle 2 und vergleichen Sie dann die Zeilen der Spalte „Produkt“ von Tabelle 2 mit jeder Zeile der Produktgruppen von Tabelle 1. Weisen Sie dann die Grenzwerte der Spalte „_LIMITS“ in Tabelle 1 zu, wenn eine übereinstimmende Zeichenfolge gefunden wird. Wie würde ich das skripten?
Tabelle 1:

Tabelle 2:

Ich habe es bereits versucht und habe Probleme beim Vergleichen der Zeichenfolgen aus beiden Tabellen ...
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 ) ) );
)
);
Danke,
J
Automatisierung und SkriptingBetreff: In der Liste enthaltene Werte zuweisenSo würde ich das tun, was Sie angegeben haben
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] ) ) );
)
);
Stellen Sie sicher, dass Ihre Namen in der Spalte „dt_group:tests“ mit den Spaltennamen übereinstimmen. Möglicherweise sind in den Spaltennamen im Vergleich zu den Testwerten zusätzliche Leerzeichen vorhanden.