Sto cercando di unire questa tabella (sotto) a un'altra abbinando la colonna rowNoVFPD a una in un'altra tabella.

La colonna VFPDplus1 viene assegnata utilizzando la formula:
Lag(:VFPD, -1).
Quando provo a farlo con JSL, la colonna VFPDplus1 viene copiata su uno spazio vuoto, ma per il resto correttamente.
Quando provo a utilizzare l'opzione "Unisci" di JMP nella barra degli strumenti "Tabella", viene copiata correttamente.
Come posso risolverlo in JSL?
La mia attuale funzione di join è scritta:
Data Table( "markTableSubset" ) << Join(
with( Data Table( "VFPD" ) ),
by matching columns( :FloorVdiv64 = :rowNoVFPD )
);
Ho trovato il mio problema dopo alcune settimane di distanza per schiarirmi le idee.
Ecco un frammento di esempio dal mio script originale:
If( File Exists( path ), //Check file exits, import VFPD file
vfpdTable = Open( path, Import Settings( Data Starts( 5 ) ) );
Column( 1 ) << Data Type( Numeric ) << Modeling Type( "Continuous" ) << Set Name( "rowNoVFPD" );
Column( 2 ) << Set Name( "VFPD" );
New Column( "VFPDplus1", Numeric, Continuous, Formula (Lag(:VFPD,(-1)))); //Look at next row for interpolation after joining
Column( 3 ) << delete property(formula); //Copying formula causes issues when joining
);
Le mie tabelle potrebbero superare le oltre 500.000 righe in quanto sono set di dati sperimentali di grandi dimensioni, quindi la formula non ha terminato di calcolare i risultati per l'intera colonna quando elimino la proprietà della formula (un ritorno a uno dei miei tentativi originali di ottenere il join lavorare), quindi non stava applicando nessuno dei risultati della formula prima di entrare. La stessa cosa è successa se ho provato a unirmi subito dopo aver creato la nuova colonna della formula.
Da allora ho modificato lo script per aggiungere un ritardo di 1 secondo per consentire alla formula di calcolare completamente e ora posso unirmi senza problemi. Spero che questo aiuti qualcun altro che incontra lo stesso problema.
If( File Exists( path ), //Check file exits, import VFPD file
vfpdTable = Open( path, Import Settings( Data Starts( 5 ) ) );
Column( 1 ) << Data Type( Numeric ) << Modeling Type( "Continuous" ) << Set Name( "rowNoVFPD" );
Column( 2 ) << Set Name( "VFPD" );
New Column( "VFPDplus1", Numeric, Continuous, Formula (Lag(:VFPD,(-1)))); //Look at next row for interpolation after joining
Wait(1); //Necessary to stop deleting the formula before it's calculated the full column
Column( 3 ) << delete property(formula); //Copying formula causes issues when joining
);