Agregue datos de columnas anteriores si faltaHola,
Estoy tratando de crear una columna con la última fecha disponible en mi conjunto de datos. Entonces, en este caso, si falta una fecha de la visita 19, obtengo la fecha de la visita 18. Eso puedo hacer. Pero si falta la fecha de la visita 18, no puedo hacer que funcione más. Entonces, ¿cómo hago para que jmp comience en una columna y regrese hasta que haya una fecha?
Br Julie
Re: Agregar datos de columnas anteriores si faltaSimplemente descarta la cláusula If (isMissing (cláusula completa si lo desea). Realmente no está cambiando nada, siempre y cuando la columna Fecha Última Vista tenga todos los valores faltantes
Re: Agregar datos de columnas anteriores si faltaOk, eso tiene sentido. Pero ejecutar el script no agrega ningún valor a la nueva columna.
No debería el " Está perdido "¿punto de declaración a la columna 19? ¿O me estoy perdiendo algo?
Re: Agregar datos de columnas anteriores si faltaMi error en el i = 5. Lo estaba probando ... Lo he cambiado a i = 1.
Si desea una nueva columna, simplemente puede agregarla como su vigésima columna y usar el segundo script.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column("Last Date Seen",format("yyyy-mm-dd",12));
For( i = 1, i <= N Rows( dt ), i++,
If( Is Missing( As Column( "Last Date Seen" )[i] ),
Column( "Last Date Seen" )[i] = Max( dt[i, 0] )
)
);Re: Agregar datos de columnas anteriores si falta¿Pero acaso eso no completará la última columna con la última fecha en lugar de crear una nueva columna?
Además, en el primer ejemplo, ¿por qué es "i = 5 "?
Gracias por adelantado
Re: Agregar datos de columnas anteriores si faltaAquí hay 2 formas de hacer esto
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Cols( dt ), i++,
missingRows = dt << get rows where( Is Missing( As Column( i ) ) );
If( N Rows( missingRows ) > 0,
For( k = 1, k <= N Rows( missingRows ), k++,
Column( i )[missingRows[k]] = Column( i - 1 )[missingRows[k]]
)
);
);
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Rows( dt ), i++,
If( Is Missing( As Column( 19 )[i] ),
Column( 19 )[i] = Max( dt[i, 0] )
)
);
Re: Agregar datos de columnas anteriores si faltaSi comienza a iterar desde la primera fila, debería poder completar una fecha faltante con la fecha anterior a medida que recorría la tabla. Me parece bastante simple pero podría haber pasado por alto un punto importante.