cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP 19 is here! See the new features at jmp.com/new.
  • Register to attend Discovery Summit 2025 Online: Early Users Edition, Sept. 24-25.

Introduction to the JMP Scripting Language

Choose Language Hide Translation Bar

Featured Items

Latest Posts

  • Example: Importing a Text File

    Let's look at an example. Suppose you have a text file that specifies the column names on the first line and then follows with a row of data on each of the subsequent lines. The values are separated by a character- in this case, a comma. JMP is likely to recognize this common format without help from you but you can force the correct format with optional arguments. The End of Field argu...

    ruthhummel ruthhummel
    537 views | 0 replies
  • Saving and Closing a Data Table

    Once your script has imported a data table, or made changes to an existing JMP data table, you probably want to save the table. To do that, you send a Save or Save As message with a path and file name argument to the data table through an object reference. After your script has finished working with the data table, you can close it -- and in fact, it's a good idea to close it if your sc...

    ruthhummel ruthhummel
    1505 views | 0 replies
  • Overview of Data Columns

    A script often needs to deal with individual data columns and rows. Your variables for analysis are represented by the data columns. The observations for these variables are represented by the rows in the data table. And scripts can act on data columns and rows through object messages, functions, and subscripts.

    ruthhummel ruthhummel
    304 views | 0 replies
  • Data Column References

    To send a message to a data column, you have to be able to refer to the column. There are several ways to refer to columns, some of which also return column object references. You can simply refer to a column by name, using the colon prefix to make sure JMP scopes the name as a data column. You can also combine the column reference with a data table reference using a colon too. For exam...

    ruthhummel ruthhummel
    1776 views | 0 replies
  • Data Column Attributes

    Data columns can have a variety of attributes associated with them. Your script might need to specify these attributes if it's creating new data columns, or it might need to change the attributes of an existing data column. Column attributes include things like the type of data, the modeling type, the format for numeric data, the current values in the column either as literal values or ...

    ruthhummel ruthhummel
    444 views | 0 replies
  • Data Column Properties

    In addition to the various attributes, data columns have properties associated with them. A column's properties affect how JMP uses it. Examples of column properties include formulas, notes, range and list checks, value labels, value order, axis specifications, and units. And there are many more properties with specialized applications. We'll illustrate the examples here as messages to ...

    ruthhummel ruthhummel
    1359 views | 0 replies
  • Tip: Using the Get Script Message to Learn Code

    When you send the Get Script message to any JMP object, what's returned to the log is a script that will create an identical object. So this is a great way to learn the proper syntax. For example, you could add a property to a column interactively, and then send the Get Script message to get the code that creates that property. You can then use that code, or a modified version of it, in...

    ruthhummel ruthhummel
    380 views | 0 replies
  • Working with Rows

    Many of the operations you perform on data tables require selecting rows. Selecting rows is often necessary for the desired behavior with analysis and graphing platforms. So if you want to change the row states of some rows to hidden or excluded, for example, you need to select those rows first. Then you would send a message to the data table, and only the selected rows would respond. N...

    ruthhummel ruthhummel
    1169 views | 0 replies
  • Creating a New Data Table

    You use the New Table function to create a new data table. Because there are no required arguments, you can create an empty, untitled data table by just using the function with nothing in the parentheses. But, there are several optional arguments that you'll typically use. The first unnamed argument is a character string that sets the name of the data table. There are also named argumen...

    ruthhummel ruthhummel
    907 views | 0 replies
  • Working with Columns and Rows

    This demonstration is going to illustrate how to manage data columns and data table rows. And I'll use a script to make a new data table with one column to start. So in the course journal in section I'm going to click Make New Data Table and Column. And you can see that we're using the new table function. We're going to store the data table object reference that this creates in the vari...

    ruthhummel ruthhummel
    3980 views | 1 replies
  • Overview of Data Matrices

    So you've seen that data tables and columns are really powerful JMP objects that store data and have a lot of other responsibilities. They have extensive message protocols that make most actions easy to accomplish. But they also use a lot of overhead: data manipulation can require a lot of time, and sending messages can require a lot of code. Matrices, on the other hand, also store data...

    ruthhummel ruthhummel
    533 views | 0 replies
  • Obtaining a Data Matrix

    You can get numeric data from a data column by sending either the Get Values message or the Get As Matrix message to the column. The result of both of these is a column vector, or, a matrix that contains only a single column. You can also get the numeric data from all the numeric data columns in a data table by sending the Get As Matrix message to the data table. If there are columns wi...

    ruthhummel ruthhummel
    928 views | 0 replies
  • Matrix Utility Functions

    A useful utility function for matrices is the Loc function. This function takes a Boolean matrix as its argument, and returns a matrix with the locations, or positions, of all of the true elements in the matrix. Now, remember that JMP interprets zero as false and non-zero values as true. So if the argument supplied is simply a matrix, or a variable storing a matrix, the Loc function ret...

    ruthhummel ruthhummel
    844 views | 0 replies
  • Using Matrices

    So this demonstration is going to illustrate some of the ways that you can use matrices. So in the course journal in section I'm going to click on Cure Time Data. And let's suppose that we need to find the average cure time for each date. So we'll add up all of the cure time values in each row, and dividing by the number of samples. And I'm going to use matrices to perform this computat...

    ruthhummel ruthhummel
    1896 views | 0 replies
  • Overview of Tables

    Now, in addition to storing your data and its metadata, the data table is responsible for data preparation using commands in the Tables, Rows, and Columns menus, or their equivalent messages in JSL. The data table is also responsible for launching the platforms for analysis and graphing. Sometimes, you only want to analyze or plot a specific subset of the data values that are stored in ...

    ruthhummel ruthhummel
    1531 views | 0 replies
  • Selecting and Subsetting Data

    So in this demonstration, we'll look at selecting specific rows and using the subset command, which interactively is found in the Tables menu, to pull out a subset of the data table. So in the course journal in section I'm going to click on Ski Lodge Temperature Data. And this is a wide data table, but fairly short. And so our scenario here is that we have a ski resort that has a weathe...

    ruthhummel ruthhummel
    3884 views | 0 replies
  • Stacking Columns

    Sometimes, you might need to combine the values from two or more columns into one column. This is known as stacking columns. The raw might data might be structured in such a way that there's a separate column for each group or category of a variable -- for example, the calories in beef versus poultry hot dogs. In JMP, if you want to compare the average calories of these two groups, you ...

    ruthhummel ruthhummel
    1459 views | 0 replies
  • Concatenating Tables

    What if you want to add one or more data tables to an existing table? For example, maybe the raw data are stored in different tables for different groups, or for different periods of data collection, and you want to have a single table with all the rows together. You can send the Concatenate message to a data table to create a new table that has the data from one or more other data tabl...

    ruthhummel ruthhummel
    1038 views | 0 replies
  • Stacking and Concatenating

    This demonstration shows two more commands from the Tables menu-- the Stack and Concatenate commands. So in section of the journal, I'm going to click on Cure Time Data again. And the organization of this table is that each cure time sample has its own separate column. And if I wanted to, for example, compare the averages of the five different cure times, that kind of analysis would wan...

    ruthhummel ruthhummel
    2651 views | 0 replies
  • Overview of JMP Platforms

    JMP provides your analyses and plots through objects called platforms. Examples of platforms include Distribution, Bivariate, Fit Least Squares, and Graph Builder. JMP platforms combine related functionality and procedures. And you launch platforms with either the default settings, or with user preferences. After a platform is launched, a user can interact with it to further refine thei...

    ruthhummel ruthhummel
    813 views | 0 replies
  • Launching the Analysis Layer

    To launch a platform, you send a message to a data table. In return, you receive a reference to the analysis layer object. You can save this reference for later use. Let's take a look at an example. The message name identifies the platform. So in this example, the message name indicates the Bivariate platform. The arguments to the message cast columns into analysis roles and can specify...

    ruthhummel ruthhummel
    615 views | 0 replies
  • Introduction to the Report Layer

    The report layer of a platform also responds to messages, but you have to access it through a separate object reference. You obtain a reference to the report layer by sending the Report message to the analysis layer, or by calling the Report function with the reference to the analysis layer as its argument. So there are two examples shown here. In the first one, you send a Report messag...

    ruthhummel ruthhummel
    763 views | 0 replies
  • Using the BY Role with Messages

    Just about every platform in JMP includes an optional analysis role called the BY role. You can use this when you want to obtain separate analyses or graphs for every level or group in a column. For example, suppose you're working with the Big Class data table, and you want a separate bivariate fit of weight by height for each of the different age groups. When you put age in the BY role...

    ruthhummel ruthhummel
    605 views | 0 replies
  • Enhancing Interaction with Platforms

    Your script can enhance the analysis by adding a column switcher or a local data filter to the platform used by your script. So, you can include the Local Data Filter argument or the Column Switcher argument in the launch message to add these features when the platform is launched. For example, the code shown here uses both the Local Data Filter and the Column Switcher arguments as part...

    ruthhummel ruthhummel
    538 views | 0 replies
  • Scripting Analyses

    In this demonstration, we'll see how to script the analyses performed by some of the commonly-used platforms in JMP. In the journal in section I'll click on Concrete Strength and Humidity Data, and this is the data set I'm going to use for all of the examples in this demonstration. So we've got the type of concrete mix, the resulting concrete strength, and the ambient humidity when the ...

    ruthhummel ruthhummel
    1136 views | 0 replies