Estoy intentando unir esta tabla (a continuación) a otra haciendo coincidir la columna filaNoVFPD con una de otra tabla.

La columna VFPDplus1 se asigna mediante la fórmula:
Lag(:VFPD, -1).
Cuando intento hacer esto con JSL, la columna VFPDplus1 se copia en blanco, pero por lo demás correctamente.
Cuando intento utilizar la opción "Unirse" de JMP en la barra de herramientas "Tabla", se copia correctamente.
¿Cómo puedo solucionar esto en JSL?
Mi función de unión actual está escrita:
Data Table( "markTableSubset" ) << Join(
with( Data Table( "VFPD" ) ),
by matching columns( :FloorVdiv64 = :rowNoVFPD )
);
Encontré mi problema después de algunas semanas para aclarar mi mente.
Aquí hay un fragmento de ejemplo de mi script original:
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
);
Mis tablas podrían superar las 500,000+ filas, ya que son grandes conjuntos de datos experimentales, por lo que la fórmula no había terminado de calcular los resultados para la columna completa para cuando eliminé la propiedad de la fórmula (un retroceso a uno de mis intentos originales para obtener la unión para trabajar), por lo tanto, no estaba aplicando ninguno de los resultados de la fórmula antes de unirse. Lo mismo sucedió si intenté unirme inmediatamente después de crear la nueva columna de fórmula.
Desde entonces cambié el script para agregar un retraso de 1 segundo para permitir que la fórmula se calcule completamente, y ahora puedo unirme sin problemas. Espero que esto ayude a cualquier persona que se encuentre con el mismo 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
);