Uso della variabile locale in una formulaHo una tabella che ha una colonna (Samp Pt) che elenca il nome dell'apparecchiatura come Equip_n dove n va da 1 a 9.
La colonna "Data/Ora" è la data e l'ora.
I dati vengono ordinati per Equip_n e poi per Data/Ora.
Voglio creare un valore chiamato Run che è il numero di Run per ogni pezzo di equipaggiamento.La Corsa è il numero di Equipaggiamento-Run, ad esempio 1-1.Viene definita una nuova esecuzione quando la differenza tra le righe successive di Data/Ora è maggiore di 190.000 secondi.
Ho provato a utilizzare due variabili locali per tenere traccia del valore numerico della "n". Crea correttamente il primo valore di esecuzione per ciascuna attrezzatura ("1-1, "2-1", ecc.) ma quando le righe successive sono distanti >190000 secondi, ottengo "1-.", "2-.") .Sono abbastanza sicuro di non utilizzare correttamente le variabili locali. Che cosa sto facendo di sbagliato?Grazie.
Re: Uso della variabile locale in una formulaGrazie!
Re: Uso della variabile locale in una formulaIl mio errore, quando ho incollato la formula nella risposta, non ho ottenuto tutta la formula ... ho tralasciato una riga
If( Row() == 1,
hold = 1;
hold2 = 1;
,
If( :Name( "Date / Time" ) - Lag( :Name( "Date / Time" ) ) > 190000,
hold2 = hold2 + 1
);
If( :Samp Pt != Lag( :Samp Pt ),
hold = hold + 1;
hold2 = 1;
);
);
Char( hold ) || "-" || Char( hold2 );
Re: Uso della variabile locale in una formulaGrazie, ma quando taglio e incollo la tua soluzione nell'editor delle formule, la seconda e la terza clausola If non hanno nulla nella clausola else. Funziona ma dà solo il valore di 1 nella prima riga, tutti gli altri sono vuoti.Sto eseguendo jmp (non Pro) 14.2 se questo è un fattore.
Re: Uso della variabile locale in una formulaQuesta formula sembra funzionare
If( Row() == 1,
hold = 1;
hold2 = 1;
,
If( :Name( "Date / Time" ) - Lag( :Name( "Date / Time" ) ) > 190000,
hold2 = hold2 + 1
);
If( :Samp Pt != Lag( :Samp Pt ),
hold = hold + 1;
hold2 = 1;
);
)