Contador con condición

Buenos días, me gustaría saber como puedo hacer un contador de días consecutivos de la columna “day” de tal forma que si durante dos días consecutivos tiene 20 incidencias o más (columna 3) me lo indique con un uno y sino un cero.

He usado un if (con math formula) que me arroje un 1 si en ese día han ocurrido 20 o más, sin embargo, no se me ocurre la condición que debo usar para que me cuente si durante al menos dos días consecutivos se han producido 20 o más.


Un saludo y muchísimas gracias.

Hola @Totibalu

Hay varias formas de generar el resultado que buscas. A mi forma de ver, la mas eficiente es dos condiciones anidadas en un solo script del nodo ‘Column Expressions’; usando la función offset() para argumentar otras coordenadas de fila.

He generado un workflow de ejemplo con tus datos para que puedas examinarlo:

Me comentas si este es el resultado que buscas. En ese caso puedes validar este post como ‘Solution’ (solución), así ayudarás en las búsquedas a otros usuarios.

salu2

PS.- Esta solución funciona para un único $car_id$; en caso de tener un listado continuo de vehículos distintos, puedes pasarlos por loop o se puede generar mas código para ‘Column Expressions’

1 Like

Hola @gonhaddock , mi versión de KNIME no dispone de Column Expressions. Podrías decirme si hay alguna otra alternativa?

Muchas gracias.

Hola @Totibalu
Al descargar el workflow de KNIME HUB, te debería dar la opción de instalar las extensiones que te faltan. Para que puedas ejecutar el workflow sin problemas.

No sucede así?

Hola @gonhaddock ,

No me da la opción de instalar nuevas extensiones debido a mi versión y aparece un error.

La otra opción es utilizar un nodo ‘Lag Column’ para tu columna $cab_fail$, y luego un ‘Rule Engine’ con el siguiente código:

$cab_fail$ > 20 AND $cab_fail(-1)$ > 20 => 1
TRUE => 0

He actualizado el workflow con esta opción. Este tipo de soluciones son menos eficientes porque al final tienes que añadir nodos clean-up para borrar columnas intermedias…

salu2

Hola
Ya estaba trabajando en la actualización cuando he visto que eliminaste el request.

He ampliado el workflow del HUB para que pueda ejecutar el cálculo para multi $car_id$. Como ves otra de las ventajas de trabajar con ‘Column Expressions’, es que puedes evitar los bucles y todo se torna más eficiente.

salu2

Elimine el request porque lo logre hacer. De todas formas muchísimas gracias @gonhaddock por tomarte tu tiempo en resolver el problema y explicarme las diferentes alternativas.

Saludos.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.