Tip: JSL choices for properties are the same as those in the Column Properties menu in the Column Info window. The arguments for each property correspond to the settings in the Column Info window. An easy way to learn the syntax is to establish the property that you want in the Column Info window first, and then use Get Property to view the JSL. See The Column Info Window in the Using JMP book for details about each property.
col << Set Property( "propertyName", {argument list} );
col << Get Property( "propertyName" );
col << Delete Property( "propertyName" );
The name of the property in question is always the first argument for Set Property, and what is expected for subsequent arguments depends on which property you set:
Get Property and Delete Property always take a single argument, which is the name of the property.
Get Property returns the property’s settings. Delete Property completely removes the property from the column.
If you want to set several properties, you need to send several separate Set Property messages. You can stack several messages in a single JSL statement if you want.
col << Set Property( "Axis",{Min(50), Max(180)} )<< Set Property( "Notes", "to get proportions" );
To get a property’s value, send a Get Property message whose argument is the name of the property that you want:
Column("ratio") << Get Property( "axis" ); // return axis settings
dt << Set Label Columns( col1, col2, col3 );
dt << Set Label Columns();
The same syntax works for Set Scroll Lock Columns, and Scroll Lock.
One way to do this is to use expressions. In the following example, the Eval Expr() function evaluates and replaces any variable wrapped in the Expr() function with its value. The outer Eval() function evaluates the entire statement after the replacement has occurred.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// open a sample data table
 
lLimit = 55;
uLimit = 70;
tLimit = 62.5;
// assign desired spec limits
 
Eval(
	Eval Expr(
		:height << Set Property(
		// store the limits in the Spec Limits column property
			"Spec Limits",
			{LSL( Expr( lLimit ) ), USL( Expr( uLimit ) ), Target( Expr( tLimit ) ),
			Show Limits( 0 )}
		)
	)
);
Table 8.4 shows examples for setting and getting popular column properties. See The Column Info Window in Using JMP for more information about each property.
Notes
col<<Set Property( "Notes", "Extracted from Fisher iris data" );
 
col<<Get Property( "Notes" );
List Check
Range Check
col<<Set Property( List Check,{"F","M"} );
 
col<<Set Property( "Range Check",LTLT(0, 120) );
 
col<<Get Property( "List Check" );
 
col<<Delete Property( "Range Check" );
Missing Value Codes
col<<Set Property( "Missing Value Codes", {0, 1} );
Value Labels
col<<Value Labels( {0 = "Male", 1 = "Female"} );
col<<Use Value Labels( 1 );.
Value Ordering
col<<Set Property( "Value Ordering", {"Spring", "Summer", "Fall", "Winter"} );
Value Colors and Color Gradient
col<<Set Property( "Value Colors", {"Female" = 3, "Male" = 5} );
col<<Set Property( "Value Colors", Color Theme( "White to Blue" ) );
col<<Set Property( "Color Gradient", {"White to Blue", Range( {18, 60, 25} )} );
Axis
col<<Set Property( "Axis",{Min(50), Max(180), Inc(0), Minor Ticks(10), Show Major Ticks(1), Show Minor Ticks(1), Show Major Grid(0), Show Labels(1), Scale(Linear)} );
Units
col<<Set Property( "units", "grams" );
 
col<<Get Property( "units" );
Coding
col<<Set Property( "Coding", {59,172} );
 
col<<Get Property( "Coding" );
Mixture
col<<Set Property( "Mixture", {0.2, 0.8, 1, L PseudoComponent Coding} );
 
col<<Get Property( "Mixture" );
Row Order Levels
col<<Set Property( "Row Order Levels", 1 );
Spec Limits
col<<Set Property( "Spec Limits", {LSL(-1), USL(1), Target(0)} );
 
col<<Get Property( "Spec Limits" );
Control Limits
col<<Set Property( "Control Limits", {XBar(Avg(44), LCL(29), UCL(69))} );
 
col<<Get Property( "Control Limits" );
Response Limits
col<<Set Property( "Response Limits", {Goal("Match Target"), Lower(1,1), Middle(2,2), Upper(3,3)} );
 
col<<Get Property("Response Limits");
Choices for Goal are Maximize, Match Target, Minimize, None. Other arguments take numeric value and desirability arguments.
Design Role
col<<Set Property( "Design Role", "Covariate" );
 
col<<Get Property( "Design Role" );
Choices for role are Continuous, Discrete Numeric, Categorical, Blocking, Covariate, Mixture, Constant, Uncontrolled, Random Block, Signal, and Noise.
Factor Changes
col<<Set Property( "Factor Changes", Hard) ;
 
col<<Get Property( "Factor Changes" );
Sigma
col<<Set Property( "Sigma",1.332 );
 
col<<Get Property( "Sigma" );
Distribution
col<<Set Property( "Distribution", Distribution( GLog ) );
 
col<<Get Property( "Distribution" );
Time Frequency
col<<Set Property( "Time Frequency", Time Frequency( "Annual" ) );
 
col<<Get Property( "Time Frequency" );
Map Role
col<<Set Property( "Map Role", Map Role( Shape Name Use( "filepath to data table", "column name" ) ) );
 
col<<Get Property( "Map Role" );
Supercategories
col<<Set Property( "Supercategories", {Group( "Genders", {"F", "M"} )} );
 
col<<Get Property( "Supercategories" );
Multiple Response
col<<Set Property( "Multiple Response", Multiple Response( Separator( "." ) ) );
 
col<<Get Property( "Multiple Response" ) );
Profit Matrix
col<<Set Property( "Profit Matrix", {[5 -1, -1 4, -2 -2], {"F", "M", "Undecided"}} );
 
col<<Get Property( "Profit Matrix" );
Expression Role
col<<Set Property( "Expression Role", Expression Role( "Picture", MaxSize( 640, 480 ), StretchToMaxSize( 1 ), PreserveAspectRatio( 1 ), Frame( 0 ) )
[Custom property]
Provided for custom uses. Corresponds to Column Properties > Other in the Column Info window.
col<<Set Property( "Date recorded",12Dec1999 );
 
long date( col<<Get Property( "Date recorded") );

Help created on 7/12/2018