Estoy intentando crear una secuencia de comandos que elimine una fila de mi tabla si el ID y los dos valores son los mismos que la fila anterior. No puedo eliminar todas las filas duplicadas porque hay una columna de "número de ejecución" que es única para cada fila. ¿Alguien sabe por qué mi código no funciona?
// Delete Duplicate Rows (re-entries)
NRows = N Rows(dt);
For(i = 1, i <= NRows, i++,
If(
dt:ID[i] == dt:ID[i + 1] & Data Table("Sheet1"):value1[i] == dt:value1[i + 1] & dt
:value2[i] == dt:value2[i + 1],
{dt << Delete Rows(i), i--}
)
);
Creo que esta parte de su script entre llaves es donde las cosas van mal (la función if() generalmente no quiere llaves ahí):
{ dt << Eliminar filas (i), i --}
Dicho esto, aquí hay otra forma, quizás más sencilla, de obtener lo que desea, utilizando la función incorporada de JMP para seleccionar duplicados:
dt << Select Duplicate Rows ({:ID, :Value 1, :Value 2});
dt << delete rows;