Aiutare a trasformare una tabella e convertire un timestamp?quindi ho una tabella dati da un sensore che non sono abbastanza sicuro di come formattare correttamente. È un sensore di luce che emette letture di tensione.
La prima colonna nella tabella è la lunghezza d'onda misurata e poi ci sono più di 100 colonne per ogni istanza di tempo in cui misura i dati.
Come dovrei trasformarlo o ruotarlo correttamente? Solo una trasposizione di tabella sarebbe l'attività corretta?
Quindi, consigli su come convertire timestamp non elaborato in una serie temporale utilizzabile? Viene fuori in questo modo.
GG-MM-AAAAA: MM: SS. ### Z
cosa posso fare per convertirlo in un valore di serie temporale utilizzabile da tracciare come asse x? È fino al millesimo di secondo, con incrementi di 0,1 secondi.
Bonus, come farlo per trovare il minimo e il massimo e normalizzare il tempo in modo che sia 0 -> massimo?
...
14-07-2020T22:47:31.400Z
14-07-2020T22:47:31.500Z
14-07-2020T22:47:31.600Z
14-07-2020T22:47:31.700Z
14-07-2020T22:47:31.800Z
14-07-2020T22:47:31.900Z
...
Tabella datiGraficaScriptingRi: Aiutare a trasformare una tabella e convertire un timestamp?Penso che tutto ciò di cui hai bisogno sia Tabelle-> Stack mettendo le colonne del tempo nel ruolo Stack Columns.
Dovresti finire con due colonne, lunghezza d'onda e tempo.
Per quanto riguarda la conversione del timestamp in una colonna datetime di JMP, Parola() e Informat () devo andare qui:

Ulteriore lettura:
Se impari solo una funzione dell'Editor delle formule, Word () è quella giusta
Utilizzo di date, orari, data e ora e durate in JMP
Ri: Aiutare a trasformare una tabella e convertire un timestamp?Per quanto riguarda i tuoi dati, ti suggerirei di esaminare in pila le colonne. Quel modulo fornirà più strumenti JMP per l'analisi.
Per quanto riguarda il tuo problema di timestamp ... ecco uno script di esempio che accetta una colonna di input chiamata "TS" e la converte in una colonna Data / ora JMP.
Names default to here(1);
dt = New Table( "Example",
Add Rows( 6 ),
New Column( "TS",
Character,
"Nominal",
Set Values(
{"14-07-2020T22:47:31.400Z", "14-07-2020T22:47:31.500Z",
"14-07-2020T22:47:31.600Z", "14-07-2020T22:47:31.700Z",
"14-07-2020T22:47:31.800Z", "14-07-2020T22:47:31.900Z"}
)
)
);
dt << New Column( "Column 2",
Numeric,
"Continuous",
Format( "d/m/y h:m:s", 26, 3 ),
Input Format( "d/m/y h:m:s", 0 ),
Formula( Informat( Word( 1, :TS, "Z" ), "d/m/y h:m:s" ) )
);Ri: Aiutare a trasformare una tabella e convertire un timestamp?Jeff,
Immagino che la mia età stia dimostrando ..... mi hai battuto di nuovo alla risposta.
Ri: Aiutare a trasformare una tabella e convertire un timestamp?Grazie Jim e Jeff, funzionano alla grande! Sto leggendo word () in questo momento.
Domanda sui timestamp: come posso convertirlo in una durata di tempo non elaborata? Vedo che c'è la formula "Differenza di data", ma sembra che abbia bisogno di due colonne. Come faccio a renderla una serie temporale che parte da 0.000 s -> tempo massimo?
Domanda sullo scripting del comando stack: guardando lo script, ha una riga univoca per ogni colonna .... come renderlo dinamico per la prossima volta che estraggo questo file di dati?
Data Table( "Sheet1" ) << Stack(
columns(
:Name( "14-07-2020T22:47:31.400Z" ),
:Name( "14-07-2020T22:47:31.500Z" ),
:Name( "14-07-2020T22:47:31.600Z" ),
....for every column...
),
Source Label Column( "TimeStamp" ),
Stacked Data Column( "data" ),
Output Table( "sensor table" )
)
Ri: Aiutare a trasformare una tabella e convertire un timestamp?Per convertire una colonna Timestamp (JMP Date / Time) in un semplice valore temporale, utilizzare la funzione Time of Day (). Restituisce effettivamente il numero di secondi dalla mezzanotte precedente al momento della misurazione.
Per quanto riguarda lo stacking quando i nomi delle colonne cambiano di giorno in giorno ... è semplice ottenere un elenco delle colonne nella tabella dei dati e quindi applicare tale elenco alle istruzioni Stack Platform. Il messaggio da passare alla tabella dati per recuperare i nomi delle colonne è dt << get column names ().
Sarebbe possibile allegare una tabella dati di esempio o un foglio di calcolo dei dati. È piuttosto difficile vedere le specifiche dei dati di input, il che potrebbe comportare il passaggio di direzioni fasulle.Ri: Aiutare a trasformare una tabella e convertire un timestamp?Vedere il sottoinsieme allegato (pre-impilato).
Ho l'ora del giorno, ma poi devo proteggermi dalle condizioni quando una corsa si verifica dopo mezzanotte e il giorno cambia? Lo azzero facendo [ora del giorno () - col minimo (ora del giorno ())
Ri: Aiutare a trasformare una tabella e convertire un timestamp?Ecco un piccolo script che dovrebbe darti un buon "vantaggio" per portare i tuoi dati in un formato analitico. Prende la tabella dati di esempio e crea:

names default to here(1);
dt=current data table();
// Get the column names from the data table
colNames = dt << get column names;
// Remove Lamda from the list
remove from(colNames,1,1);
// Stack the data
dtStack = dt << Stack(
columns(
colNames
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Stacked" )
);
// Create a new JMP DateTime column
dtStack << New Column( "Timestamp",
Numeric,
"Continuous",
Format( "d/m/y h:m:s", 26, 3 ),
Input Format( "d/m/y h:m:s", 0 ),
Formula( Informat( Word( 1, :Label, "Z" ), "d/m/y h:m:s" ) )
);
// Remove formula to convert column to static values
dtStack:Timestamp << delete formula;
// Create the Time variable
dtstack << New Column( "Time",
Numeric,
"Continuous",
Format( "hr:m:s", 17, 3 ),
Input Format( "hr:m:s", 0 ),
Formula( Time Of Day( :Timestamp ) )
);
// Get rid of no longer needed "Label" column
dtStack << delete columns( "Label" );
Ri: Aiutare a trasformare una tabella e convertire un timestamp?Fantastico Jim!
alcune domande per vedere cosa ne pensi:
- come proteggersi da una corsa che va oltre la mezzanotte del giorno successivo? l'utilizzo dell'ora del giorno per ottenere un orario assoluto o normalizzarlo per iniziare da zero sarebbe influenzato da una corsa che copre 2 giorni.
- Pensi di convertire il Lambda col in una colonna di caratteri? È essenzialmente un'etichetta, quindi non dovrebbe essere numerica, giusto? Misura a diverse lunghezze d'onda t quindi traccia i dati v tempo.
- come potrei incorporare il file originale nella tabella dati appena creata? Ho cambiato il dt iniziale = -> in una finestra di dialogo di apertura di file.
