For the latest version of JMP Help, visit

Adds n columns to dt at the position indicated.
dt = Open( "$SAMPLE_DATA/Big" );
dt << Add Rows( 3, after( 5 ) );
dt = Open( "$SAMPLE_DATA/Big" );
dt << Add Rows( {name = "David", age = 15} );
Holds off display updating to allow for quick updating of data table cells. Use End Data Update in conjunction with this command to turn display updating back on.
Begin Data Update does not affect the data refresh due to some other table manipulations. For example, when you delete or add columns, the data table is updated and then the data update begins.
Creates n new formula columns, substituting references to column1 with columns from the list into the formula from the original column.
Color Theme("theme")
Uses the specified quoted marker theme: "standard", "hollow", "paired", "classic", or "alphanumeric".
For Color by Column, assigns colors in a chromatic sequential fashion based on the values in the highlighted column.
dt = Open( "$SAMPLE_DATA/Consumer" );
dt << Combine Columns(
	Delimiter( "," ),
		:Brush After Waking Up,
		:Brush After Meal,
		:Brush Before Sleep,
		:Brush Another Time
	Column Name( "When to Brush" )
Creates a new table ("name") from the rows of dt and dt2.
dt = Open( "$SAMPLE_DATA/" );
dt << Select Columns( :MODULUS, :ELONG );
dt << Copy Multi Columns Properties;
New Window( "Script", Script Box( "//Try paste here" ) );
dt = Open( "$SAMPLE_DATA/" );
dt << Copy Multi Columns Properties( {:MODULUS, :ELONG} );
New Window( "Script", Script Box( "//Try paste here" ) );
dt = Open( "$SAMPLE_DATA/Big" );
dt << Select Properties( {"Distribution", "Oneway"} );
proplist = dt << Copy Selected Properties();
New Window( "Script", Script Box( "//Try pasting here" ) );
dt = Open( "$SAMPLE_DATA/Big" );
dt << Select Properties( {"Distribution", "Oneway"} );
proplist = dt << Copy Table Scripts();
New Window( "Script", Script Box( "//Try pasting here" ) );
Arguments for Mode() include Select(), Show(), and Include(). They are all Boolean. Select defaults to true(1), and Show and Include default to false (0).
Arguments for Add Filter() include Columns(), and Where(). Columns() takes one or more column names separated by commas. You can add one or more WHERE clauses to define the filter.
No Outline Box(Boolean) omits or adds an outline and red triangle menu at the top of the filter window.
or more information, see Add a Data Filter in the Scripting Guide and The Data Filter in the Using JMP book
dt<<Data View(<"options">)
Deletes column(s) from the data table dt. Specify which column or columns to delete. Without an argument, deletes the selected columns, if any. Delete Column is a synonym.
dt<<Delete Scripts("name"|{script1, script2, ...})
In JMP versions prior to 14, use Delete Property to delete a script.
dt<<Delete Table Property("name"|{property1, property2, ...})
Resumes display updating after a Begin Data Update message. These commands are used for quick updates of the data table when many changes have to be made. Speed is gained by turning off display updating.
Toggles selected rows in dt from excluded to unexcluded or vice versa.
Returns the values from all columns of dt in a matrix. Character columns are numbered according to the levels, starting at 1.
Returns values from the numeric columns of dt in a matrix. The default output is all numeric columns.
dt1 = Open( "$SAMPLE_DATA/Big" );
colnames = dt1 << Get As Matrix(); // returns all numeric columns
Show( colnames );
colnames =
[ 12 59 95,
	12 61 123,
	12 55 74,...]
colnums = dt1 << Get As Matrix( {4, 5} ); // returns columns four and five
Show( colnums );
colnums = [ 59 95, 61 123, 55 74, 66 145, 52 64, 60 84, 61 128, ...]
dt2 = Open( "$SAMPLE_DATA/" );
colrange = dt2 << Get As Matrix( 10::22); // returns columns 10 through 22
Show( colrange );
colrange =
[ -0.08818069845438 0.711340010166168 1.85904002189636 0.396923005580902 4.50656986236572 7.86504983901978 1.53891003131866 -2.76178002357483 0.0711032971739769 5.75577020645142 -3.62023997306824 -0.971698999404907 -0.0525696985423565, ...]
The following script returns Big as a report and displays it and a distribution in one window.
dt = Open( "$SAMPLE_DATA/Big" );
dtRpt = dt << Get As Report;
distRpt = V List Box(
	dt << Distribution(
		Continuous Distribution( Column( :weight ) ),
		Nominal Distribution( Column( :age ) )
New Window( "Example", H List Box( dtRpt, distRpt ) );
Returns a list of column names in a data table. The "arguments" restrict the names retrieved as follows:
"Numeric", "Ordinal", "Rowstate", "Continuous", "Ordinal", and "Nominal" get only the specified types of columns. More than one can be specified. "String" returns a list of strings rather than a list of column references.
dt = Open( "$SAMPLE_DATA/Big" );
biv = dt << Bivariate( Y( :weight ), X( :height ) );
rbiv = biv << Report;
Print( rbiv << Get Journal );
In, the Country and Year columns are labeled. The following script returns a list of the labeled column names.
dt = Open( "$SAMPLE_DATA/" );
dt << Get Labeled Columns;
{:Country, :Year}
Returns the name of the table.
Returns the script in the property name.
dt = Open( "$SAMPLE_DATA/Big" );
dt << Get Rows Where( :sex == "M" );
dt << Get Rows Where( :sex == "M" & :age < 15 );
Returns the specified script. If the script name is omitted, Get Script returns a text representation of the data table and all scripts in the table.
Returns a list of selected items. Include the optional "column reference" to return column references instead, such as when you are adding a column to a col list box.
Returns a list of selected columns as column references. Include the "string" argument to return the selected columns in a string.
dt << Get Selected Columns();
{:age, :sex, :height}
dt << Get Selected Columns( "string" );
{"age", "sex", "height"}
dt = Open( "$SAMPLE_DATA/Big" );
dt << Select Properties( {2, 4} );
proplist = dt << Get Selected Properties();
// returns the second and fourth table scripts and highlights them
// in the data table
Toggles selected rows in dt from hidden to unhidden or vice versa.
dt<<Join(With(dataTable), <Private>, <Invisible>, Select(columns), Select With(columns), (By Matching Columns(col1=col2, ...)|Cartesian|By Row Number), <Merge Same Name Columns>, <Match Flag>, <Copy Formula(Boolean)>, <Suppress Formula Evaluation(Boolean)>, Update, <Drop Multiples(Boolean, Boolean)>, <Include Non Matches(Boolean, Boolean)>, <Preserve Main Table Order>, <Output Table Name("name"))>
Combines data tables dt and table side to side. For details about joining tables, see Join Data Tables in the Using JMP book.
Determines the method for joining the tables. By Matching Columns(col1=col2, ...) matches values in col1 with col2. If they match, those values will be joined. Cartesian joins two tables using a Cartesian method, where it forms a new table consisting of all possible combinations of the rows from two original tables. JMP crosses the data in the first table with the data in the second to display all combinations of the values in each set. By Row Number joins the two tables side by side. By Matching Columns is the default value.
Optional. Prevents JMP from evaluating columns’ formulas during the creation of the new table. On by default. Use Suppress Main Table Formula Evaluation to suppress evaluation only in the main table. Use Suppress Second Table Formula Evaluation to suppress evaluation only in the secondary table.
Optional. Replace the data in the main table with the corresponding data from the secondary table. Update is an alias for Update First Table with Data from Second Table.
Journals that are created in JMP 14 or later might contain compressed matrix data for large matrices. If you have JSL scripts that open journals and extract data from them, you might need to use the Get Journal message (which does not compress the matrices) rather than saving the journal to disk with the Journal message. See dt<<Get Journal for an example.
dt<<Journal Link(Save(<filepath>)|Embed(), <Button Name(string)>))
Toggles selected rows in dt from labeled to unlabeled or vice versa.
Layout is deprecated and will be removed in a future release. Use Journal instead.
dt<<Make Indicator Columns( <Append Column Name(Boolean)>, <Include Missing(Boolean)>);
The following example creates indicator columns for the sex column. Append Column Name creates columns named sex_F and sex_M. Otherwise, the columns are named after each level (F and M). Include Missing includes missing values.
dt = Open( "$SAMPLE_DATA/Big" );
dt << Make Indicator Columns(
	Columns( :sex ),
	Append Column Name( 1 ),
	Include Missing( 1 )
Assigns marker n to the selected rows.
Deprecated. Use Optimize Display instead.
Adds a new column named "name" after the last column in dt. Unless otherwise specified, columns are numeric, continuous, and 12 characters wide.
Create Columns in the Scripting Guide
dtA = Open( "$SAMPLE_DATA/Semiconductor", invisible );
nw = New Window( "Example",
	H List Box(
		V List Box( dtbox = dtA << New Data Box() ),
		dtA << Distribution(
			Continuous Distribution( Column( :NPN1 ) ),
			Continuous Distribution( Column( :PNP1 ) )
dtbox << Set Auto Stretching( 0, 0 ) << Set Width( 800 );
Creates a new table property using the specified name that stores the specified script.
Use New Script() or Set Property() rather than the deprecated New Property() and New Table Property().
dt = Open( "$SAMPLE_DATA/Big" );
dt << Set Property( "Bivariate Example", Bivariate( Y( :weight ), X( :height ), Fit Line ) );
dt = Open( "$SAMPLE_DATA/" );
dt << Copy Multi Columns Properties( {:MODULUS, :ELONG} );
dt2 = New Table( "test it",
	New Column( "T1", numeric, continuous ),
	New Column( "T2", numeric, continuous ),
	New Column( "T3", numeric, continuous ),
	Add Rows( 10 )
dt2 << Paste Multi Columns Properties( {:T1, :T3} );
// pastes the column properties from MODULUS and ELONG to T1 and T3
dt<<Print Window(<"Show Dialog">)
Prints the window. If the optional argument "Show Dialog" is specified, the print window is displayed. Otherwise, the window is printed to the default printer using the current settings, and no print window is displayed.
Renames the table script group. See Rename a Script Group in the Scripting Guide for an example.
Reorders columns in dt, row state first, then character, then numeric.
Reorders columns in dt to continuous, then ordinal, then nominal.
Reorders columns in dt to alphanumeric order by name.
Reverses columns in dt from current order.
Finds the table property name and runs it as a JSL script.
Saves the data table to the database named using the connection and table name specified. The Replace option replaces the existing database with the current database.
See Select Duplicate Rows in the Scripting Guide for examples.
Randomly selects the given percentage p of the rows in the data table, or the number of rows n.
Selects the rows in dt where the condition evaluates as true.
Gives a "name" to the table.
A change was made to the Set Name message so that now the new table name is returned as a string. In previous releases, Set Name returned a scriptable data table object. As a result of this change, JMP scripts might need to be updated for the desired result to be returned. For example, rewrite the following script:
dt = Open( "$SAMPLE_DATA\Big" ) << Set Name( "Test" );
Separate the messages so that dt represents the data table instead of “Test”:
dt = Open( "$SAMPLE_DATA\Big" );
dt << Set Name( "Test" );
dt<<Sort(By(columns), order("Descending" or "Ascending"), Output Table Name("name"))
Creates a new table ("name") by rearranging the rows of dt according to the values of one or more columns.
Un-stacks multiple rows for each Split column into multiple columns as identified by the Split by column. The Split and Split by arguments are required.
Creates a new table ("name") by combining the values from several columns in dt into one column newcol.
Creates a new table ("name") from the rows that you specify in dt.
Creates a new table of summary statistics for the col that you specify, according to groups and subgroups.
dt = Open( "$SAMPLE_DATA/Consumer" );
dt << Text To Columns(
	delimiter( "," ),
	columns( :Brush Delimited )
Creates a new table ("name") from the rows and columns that you specify.

Help created on 3/19/2020