Sto cercando di creare uno script che eliminerà una riga dalla mia tabella se l'ID e due valori sono gli stessi della riga precedente. Non posso eliminare tutte le righe duplicate perché esiste una colonna "numero di esecuzione" univoca per ciascuna riga. Qualcuno sa perché il mio codice non funziona?
// 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--}
)
);
Penso che questa parte del tuo script tra parentesi graffe sia dove le cose vanno male (la funzione if() generalmente non vuole le parentesi graffe lì):
{ dt << Elimina righe (i), i --}
Detto questo, ecco un altro modo, forse più semplice, per ottenere ciò che desideri, utilizzando la funzione integrata di JMP per la selezione dei duplicati:
dt << Select Duplicate Rows ({:ID, :Value 1, :Value 2});
dt << delete rows;