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.
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’
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.
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…
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.
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.