problema en bucle forhola a todos, no puedo entender por qué esta fórmula de bucle for no funciona. Simplemente crea una nueva columna si las unidades están en el tiempo y luego las convierte en Horas. También se adjuntan datos de muestra. Gracias.
ColNames = dt << get column names( string, Numeric, character, continuous, Nominal );
N Items( ColNames );
For( i = 1, i <= N Items( ColNames ), i++,
If( Ends With( ColNames[i], "(secs)" ),
New Column (Concat(ColNames[i], "_to_", "Hr"), Formula(AS Column(ColNames[i])/3600) ),
Ends With( ColNames[i], "(min)" ),
New Column (Concat(ColNames[i], "_to_", "Hr"), Formula(AS Column(ColNames[i])/60) ),)
);
Wait( 0 );
secuencias de comandosRe: Problema en bucle forEl problema es que el elemento Fórmula no analiza la fórmula presentada y luego coloca el código resultante en la fórmula.Por lo tanto, lo que se presenta al elemento de fórmula debe ser exactamente el JSL que debe ser la fórmula.A continuación se muestra una reelaboración de su jsl
Names Default To Here( 1 );
dt = Current Data Table();
ColNames = dt << get column names( string, Numeric, character, continuous, Nominal );
//N Items( ColNames );
For( i = 1, i <= N Items( ColNames ), i++,
If(
Ends With( ColNames[i], "(secs)" ),
New Column( Concat( ColNames[i], "_to_", "Hr" ),
Formula( Eval( Parse( ":\!"" || ColNames[i] || "\!"n / 3600" ) ) )
),
Ends With( ColNames[i], "(min)" ),
New Column( Concat( ColNames[i], "_to_", "Hr" ),
Formula( Eval( Parse( ":\!"" || ColNames[i] || "\!"n / 60" ) ) )
),
)
);Re: problema en el bucle forGracias Jim. Está funcionando.
Re: problema en el bucle forGracias, Erratic. Está funcionando. Ambas soluciones (la de Jim y la tuya) funcionan bien. Pero la solución que has proporcionado no la he visto (código JSL). Gracias.