JMP - Colonna che genera numeri di riga univoci confrontando tra le righe esistenti?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Saluti,
Se ho i seguenti dati di esempio e due punti;
ID 1 Data 1
ID 1 Data 2
ID 1 Data 3
ID 2 Data 4
ID 2 Data 5
ID 2 Data 6
ID 2 Data 7
ID 3 Data 8
ID 3 Data 9
ID 3 Data 10
ID 3 Data 11
ID 3 Data 12
Per una data riga (aka ID univoco e una coppia di date), come creare una nuova colonna per indicare che questa riga è Data numero X (di righe Y per ogni ID univoco)?
ID 1 Data 1 1
ID 1 Data 2 2
ID 1 Data 3 3
ID 2 Data 4 1
ID 2 Data 5 2
ID 2 Data 6 3
ID 2 Data 7 4
ID 3 Data 8 1
ID 3 Data 9 2
ID 3 Data 10 3
ID 3 Data 11 4
ID 3 Data 12 5
Per questo piccolo campionario, posso facilmente farlo manualmente. Tuttavia, non so come scrivere uno script utilizzando le funzioni JMP / jsl disponibili per il confronto tra le righe per fare questo per un grande set di dati.
Grazie.
Ri: JMP - Colonna che genera numeri di riga univoci confrontando tra le righe esistenti?Per dataset di grandi dimensioni potresti provare quanto segue; supponendo che la prima colonna sia ordinata come nell'esempio, l'espressione seguente funzionerà come una formula in una nuova colonna. La mia macchina impiega circa 2 secondi su un set di dati di 1 milione di righe.
( Riga () - Col Min ( Riga () , : ID)) + 1
Saluti,
Brady
Ri: JMP - Colonna che genera numeri di riga univoci confrontando tra le righe esistenti?Grazie mille!
Ri: JMP - Colonna che genera numeri di riga univoci confrontando tra le righe esistenti?Grazie mille!
Ri: JMP - Colonna che genera numeri di riga univoci confrontando tra le righe esistenti?Puoi anche usare una di queste formule, dopo aver usato sort per (ID, Data). Una formula conta il numero di volte in cui esiste una data (qualsiasi data) per un determinato ID, la seconda conta il numero di volte in cui vi è un nuovo data per un dato ID (vedere le righe da 12 a 14 nello screenshot).
If (Row () == 1, 1, If (: ID [Row () - 1, Empty ()] ==: ID,: Date # per quell'ID [Row () - 1, Empty ()] + 1 , If (: ID [Row () - 1, Empty ()]! =: ID, 1, Empty ()))))
If (Row () == 1, 1, If (: ID [Row () - 1, Empty ()] ==: ID, If (: Date [Row () - 1, Empty ()]! =: Date ,: Data # unica per quell'ID [Riga () - 1, Vuota ()] + 1,: Data unica # per quell'ID [Riga () - 1, Vuoto ()]), Se (: ID [Riga () - 1, vuoto ()]! =: ID, 1, vuoto ())))

Ri: JMP - Colonna che genera numeri di riga univoci confrontando tra le righe esistenti?Ci sono diversi modi per farlo. Ad esempio, copia il codice qui sotto e incollalo nella proprietà formula di una nuova colonna. Si suppone che restituisca il numero di tutte le istanze di un ID fino alla riga corrente (si presuppone che la colonna ID sia denominata "ID").
Eval ( Eval Espr ( Col Sum ( Riga () <= expr ( Riga ()) , : ID )))
Per tabelle di dati molto grandi ci sono probabilmente approcci più veloci.