I am not sure I follow exactly what you have done, and what you need to do, but let me at least start a response.
If I understand what you said, is that you have a data table with about 8 million rows and 80 columns. You have recently updated the table with 3 new columns, and 2,000 rows. How did you apply the update? Did you use a
Tables==>Join or a Tables==>Update
to do this update?
And now with the updated table, do you have 83 columns, and 2,002,000 rows?
Moving on to your next issue.
JSL will allow one to easily find all of the rows that meet a specific criteria, and then operations can be performed on those rows and columns.
dt = current data table();
returnedRows = dt << get rows where( :Well.Name == "a well's name" &
:BitDepth == :FormationTVD;
The above JSL would create a matrix of row numbers (returnedRows) after searching the entire data table to find where a column named Well.Name has a name of "a well's name" and a column named BitDepth equals the the same value in a column named FormationTVD. From you explanation, I am just guessing what Well.Name, BitDepth, FormationTVD and Formation really are. But once the rows that you need to be identified, are selected, then the returnedRows matrix can be stepped through, and actions taken on those rows.
Jim