cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • New to JMP? Join us Sept. 23-24 for the Early User Edition of Discovery Summit, tailor-made for new users. Register now for free!
  • Your voice matters! Tell us how you prefer to receive JMP updates, so we can tailor our communication to your needs. Take short survey.
  • See how to access JMP Marketplace - and - find, create & share add-ins to extend your JMP. Watch video.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
AsymptoticCos
Level II

Lock a column in script while working with multiple tables with same column names

I have three tables I am working with in my JSL. I am calling these dt1, dt2, dt3. 

 

dt1 has the columns A, B, C, D

dt2 has the columns B, X, Y, Z

dt3 has the columns D, Q, R, S

 

I want to lock B in table dt2. How do I do that? The usual ":B << lock (1)" script is locking B in dt1. 

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Lock a column in script while working with multiple tables with same column names

If you don't tell JMP which table to use, it uses current data table -> use more robust method of referencing to your column (add datatable reference). Column(dtref, colname) is my preferred method

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Column(dt, "Age") << Lock(1);

You could also use dt:Age

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:Age << Lock(1);

 

Edit:

From Scripting Guide check out Scripting Guide > JSL Building Blocks > Rules for Name Resolution > Scoping Operators

-Jarmo

View solution in original post

1 REPLY 1
jthi
Super User

Re: Lock a column in script while working with multiple tables with same column names

If you don't tell JMP which table to use, it uses current data table -> use more robust method of referencing to your column (add datatable reference). Column(dtref, colname) is my preferred method

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Column(dt, "Age") << Lock(1);

You could also use dt:Age

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:Age << Lock(1);

 

Edit:

From Scripting Guide check out Scripting Guide > JSL Building Blocks > Rules for Name Resolution > Scoping Operators

-Jarmo

Recommended Articles