unire i dati in base al timestamp approssimativoHo due tabelle dati a cui devo unirmi.la tabella A riporta le indicazioni temporali in ore: 24, 48, 72, 96,....la tabella B ha dati online con intervalli di 5 minuti, quindi il timestamp deve avere diverse cifre decimali per acquisire la precisione: 1.000, 1.083, 1.167, 1.250, 1.333, 1.417, 1.500 ecc. Unire B ad A funziona bene. questo non è un problema perché c'è sempre una corrispondenza di numeri interi tra timestamp nella tabella B e tabella A. quindi per tutti i punti temporali di A c'è un valore corrispondente in B. il problema è che alcune volte la tabella A termina con "120.1" o "120,4" ore per esempio. Ciò significa che l'unione fallisce e nessun dato da B si unirà ad A nel punto dati finale. c'è un modo per ottenere corrispondenze "approssimative" come il modo in cui funziona CERCA.VERT in Excel? Non posso arrotondare semplicemente i valori della tabella B perché in tal caso ho valori ripetuti (a intervalli di 0,3 e 0,8)
Combinazione e pulizia dei datiRe: unire i dati in base al timestamp approssimativoUn'altra idea che potresti voler verificare è l'utilizzo di JMP Query Builder per eseguire join "fuzzy".
L'ho guardato per qualcuno che voleva identificare i componenti chimici che si trovano entro un certo intervallo di massa dalla spettrometria di massa.
Ho allegato 3 tabelle come esempio. La tabella unita ha la classe della tabella Ref in cui la massa nella tabella dati rientra nell'intervallo tra Massa bassa e Massa alta.
Sarò lieto di fornirti ulteriori indicazioni se ritieni che questa soluzione possa essere utile.
Ecco come viene definito il fuzzy join in JMP Query Builder:

Re: unire i dati in base al timestamp approssimativoCIAO,
Controlla la funzione Loc Sorted(). Può essere utilizzato per eseguire ricerche.
Ad esempio, il codice seguente assegna voti in lettere ai punteggi dei test simulati. Cioè, utilizzando una matrice di ricerca [0, 60, 70, 80, 90], ai punteggi campione di 85, 67, 99, 92 e 89 vengono assegnati i voti in lettere F, D, C, B e A a seconda se il punteggio supera 0 , 60, 70, 80 o 90, rispettivamente. L'ho usato in modi analoghi al tuo caso d'uso.
Saluti,
Brady
Words( "FDCBA", "" )[Loc Sorted( [0, 60, 70, 80, 90], [85, 67, 99, 92, 89] )];
