dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Add Rows( 3, after( 5 ) );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Add Rows( {name = "David", age = 15} );
Creates n new formula columns, substituting references to column1 with columns from the list into the formula from the original column.
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 Preferences.jmp" );
dt << Combine Columns(
Delimiter( "," ),
Columns(
:Brush After Waking Up,
:Brush After Meal,
:Brush Before Sleep,
:Brush Another Time
),
Column Name( "When to Brush" )
);
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
dt << Select Columns( :MODULUS, :ELONG );
dt << Copy Multi Columns Properties;
New Window( "Script", Script Box( "//Try paste here" ) );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
dt << Copy Multi Columns Properties( {:MODULUS, :ELONG} );
New Window( "Script", Script Box( "//Try paste here" ) );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Properties( {"Distribution", "Oneway"} );
proplist = dt << Copy Selected Properties();
New Window( "Script", Script Box( "//Try pasting here" ) );
Copies the script to recreate the data table onto the clipboard so that it can be pasted somewhere else. Includes the table scripts. Add the "no data" keyword to omit the data.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Properties( {"Distribution", "Oneway"} );
proplist = dt << Copy Table Scripts();
New Window( "Script", Script Box( "//Try pasting here" ) );
In JMP versions prior to 14, use Delete Property to delete a script.
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
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/Probe.jmp" );
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 Class.jmp as a report and displays it and a distribution in one window.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
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 ) );
"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 Class.jmp" );
biv = dt << Bivariate( Y( :weight ), X( :height ) );
rbiv = biv << Report;
Print( rbiv << Get Journal );
In PopAgeGroup.jmp, the Country and Year columns are labeled. The following script returns a list of the labeled column names.
dt = Open( "$SAMPLE_DATA/PopAgeGroup.jmp" );
dt << Get Labeled Columns;
{:Country, :Year}
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Get Rows Where( :sex == "M" );
dt << Get Rows Where( :sex == "M" & :age < 15 );
dt << Get Selected Columns();
{:age, :sex, :height}
dt << Get Selected Columns( "string" );
{"age", "sex", "height"}
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Properties( {2, 4} );
proplist = dt << Get Selected Properties();
// returns the second and fourth table scripts and highlights them
// in the data table
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.
Layout is deprecated and will be removed in a future release. Use Journal instead.
Locks the data table so that data and column properties cannot be added or changed. See dt <<Set Edit Lock(<"modify cells">, <"add rows">, <"add columns">, <"delete rows">, <"delete columns">) for details about locking specific components of a data table.
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 Class.jmp" );
dt << Make Indicator Columns(
Columns( :sex ),
Append Column Name( 1 ),
Include Missing( 1 )
);
Adds a new column named "name" after the last column in dt. Unless otherwise specified, columns are numeric, continuous, and 12 characters wide.
An optional argument that sets the format type and column width. See col<<Format(<width>, <decimal places>, <"Use thousands separator">) for examples of setting other numeric format properties.
The optional actions arguments are any messages that data table columns support. Action arguments are found in the Column Properties menu in the New Column dialog. Two common action arguments are Formula and Set Values.
Create Columns in the Scripting Guide
dtA = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp", 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 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Set Property( "Bivariate Example", Bivariate( Y( :weight ), X( :height ), Fit Line ) );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
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
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.
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 Class.jmp" ) << Set Name( "Test" );
Separate the messages so that dt represents the data table instead of “Test”:
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dt << Set Name( "Test" );
Sets the row ID display width to the expr in pixels.
dt = Open( "$SAMPLE_DATA/Consumer Preferences.jmp" );
dt << Text To Columns(
delimiter( "," ),
columns( :Brush Delimited )
);