Hola,
Necesito alguna orientación aquí ...
Tengo dos columnas (per_Change) y Step (es una fórmula basada en valores) y la columna Per_Change está ordenada de -ve a + ve valores.
En mi script, necesito saber las filas máximas, por lo que creé una columna de rango del 1 al 14 (orden ascendente como imagen adjunta) y necesito tener al menos 8 filas (comenzando con el rango más alto).
Pasos:
1) Excluir valores -ve en la columna Per_Change
2) luego, en Col Step, se basa en alguna fórmula, y creará algunos valores "-ve" y "+ ve" y algunos valores "nulos". Ocultar y excluir todos los valores -ve en col Paso. los valores nulos ya estaban ocultos y excluidos en base a Col Per_Change ya que la fórmula generará valores -ve.
3) Mi requisito es tener al menos 8 valores (orden descendente). En mi ejemplo, hay 6 estados de fila clara (rango 9-14) (2 filas adicionales deben ser descendentes, es decir, mostrar / excluir rango 8 y 7, pero no deben incluir valores "nulos" en un escenario si hay más valores nulos y menos -ve o + ve valores en col Paso).
Paso 1 y 2, puedo realizar el script JSL pero tengo problemas para habilitar 2 filas adicionales.
Intenté usar la función de retraso y también crear columnas ficticias para activar en orden inverso, pero estoy teniendo dificultades para anular la selección de filas adicionales.
.
¡Gracias!
CG, adjunté una tabla de datos, llamada PerChangeExample para emular su ejemplo.
Prueba este script
Names Default to Here(1);
dt = Data Table("PerChangeExample");
dt << select where(:Per_change < 0 | IsMissing(:Per_change) );
dt << exclude(1) << hide(1);
dt << select where(:Step < 0 | IsMissing(:Step) );
dt << exclude(1) << hide(1);
dt << clear select;
nexcl = nrow( dt << get excluded rows() );
if ( nrow(dt) - nexcl < 8,
for(i = nexcl, i > nrow(dt) -8 , i--,
if ( !IsMissing(:Step[i]),
dt << Select Rows(i);
dt << Exclude(0) << Hide(0);
dt << clear select;
)
); //end for i
); // end if
nexcl = nrow( dt << get excluded rows() );
if ( nrow(dt) - nexcl < 8, throw() ); //stop program execution if still not enough data.Gracias por la pronta respuesta ... ¡funciona!