cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
Get the free JMP Student Edition for qualified students and instructors at degree granting institutions.

Introduction to the JMP Scripting Language

Choose Language Hide Translation Bar

Featured Items

Latest Posts

  • 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. Now, there a...

    ruthhummel ruthhummel
    915 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 your scrip...

    ruthhummel ruthhummel
    295 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 an existing...

    ruthhummel ruthhummel
    1133 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 as a formul...

    ruthhummel ruthhummel
    346 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 example, this l...

    ruthhummel ruthhummel
    1523 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
    239 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 script no lon...

    ruthhummel ruthhummel
    1184 views | 0 replies
  • 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 argument specif...

    ruthhummel ruthhummel
    457 views | 0 replies
  • Importing Data

    When your data are saved in a computer file that's not a JMP data table, you can import it into JMP in order to create a JMP data table. The original source file might be a text file, a Microsoft Excel workbook, or a file saved from a relational database. Whether your data are stored in a JMP data table or some other file format, you use the Open function to access your data. When you use the Open...

    ruthhummel ruthhummel
    603 views | 0 replies
  • Opening Data Tables

    So here we're going to see how to use scripts to open JMP data tables. So I'll get a new Script Editor window and I'm going to use the pick directory function to prompt the user when the script runs to navigate to a directory or folder. And I'm going to store that result in the variable myPath. And here notice with the variable name, I'm using an example of what we call camel case where instead of...

    ruthhummel ruthhummel
    1004 views | 0 replies
  • Using Pick Functions

    Often, you want the script user to be able to choose a directory or file when the script runs. This is how your script can obtain the absolute file path, no matter who's using the script. You can use the Pick Directory function with an optional prompt argument, and JMP will open the Browse for Folder dialog and allow the user to navigate to and select a directory. The optional prompt appears in th...

    ruthhummel ruthhummel
    1059 views | 0 replies
  • Working with File Paths

    In order for your script to open your data table, it has to tell JMP where to find the table. So, you need to understand how file paths work. The path to a file starts from the root (or disk drive) and continues with the sequence of folders that leads to the folder where the file is saved. So, the sequence reflects the series of folders that JMP has to navigate, starting at the root, in order to g...

    ruthhummel ruthhummel
    1357 views | 0 replies
  • Working with Data Tables

    Working with data tables is, of course, an important part of working with JMP. The data table enables JMP to access your data through various analysis and graphing platforms. You can enter your data directly into a JMP data table, and you can save that data table for future access. Or, you might have data saved in a different file format, or in a relational database. In those cases, you have to ei...

    ruthhummel ruthhummel
    725 views | 0 replies
  • Using the Match and Choose Functions

    In this demonstration, we'll see how to use the match and choose conditional functions. So in the course journal, in section I'm going to click on Concrete Strength Data. And so the Concrete Strength data includes this column called Concrete Type, which indicates the brand of concrete mix and whether it was reinforced or not, if it was just standard during whatever this test was. And let's suppose...

    ruthhummel ruthhummel
    1058 views | 0 replies
  • Using the Match Function and the Choose Function

    It's common to have conditions that are limited to specific values, and these values could be numeric or character data. You can use the Match function in this situation. The Match function is a specialized conditional function that takes three or more arguments. The first argument is evaluated and used as the value to be matched. The second argument is evaluated and interpreted as a Boolean value...

    ruthhummel ruthhummel
    1643 views | 0 replies
  • Using Boolean Functions

    In this demonstration, we'll take a look at Boolean functions, as well as the If function I'm going to get a script editor window. And again, the keyboard shortcut is Ctrl+T or you can go to the File menu, use the toolbar. Many different ways to get that new Script Editor window. And let me bring the log in front of the journal. Back in the Script Editor window, I'm going to type the code where I ...

    ruthhummel ruthhummel
    1140 views | 0 replies
  • Example: Binning Data by Using the If Function

    So let's look at an example of using the If function. Suppose you have data from a public school in the US with grade levels for each student. Some grade levels are grouped into schools, and you want to use the numeric data to group the students by school. This is an example of binning data, where the bins represent ranges of values, and the If statement is an easy way to assign the different grad...

    ruthhummel ruthhummel
    299 views | 0 replies
  • Using the If Action

    The most general way to test conditions is to use the If function. Let's take a look at it in the context of iterating down the rows of a data table to populate a column called "grade" using the For Each Row function. In fact, we'll look at each of the conditional functions in the context of the For Each Row function. Now, the number of arguments for the If function varies, but at least two argume...

    ruthhummel ruthhummel
    1192 views | 0 replies
  • What Is Conditional Action?

    Remember, scripts are procedural. JMP begins by evaluating the first line and continues through until it ends with the last line. This kind of evaluation makes sense for the parts of your script that always have to be evaluated. This evaluation is unconditional. But some parts of your script should only be evaluated under specific cases. This evaluation is conditional. And your script has to deter...

    ruthhummel ruthhummel
    345 views | 0 replies
  • Iterating Across Rows

    In this demonstration, we'll see how to iterate across rows using the for each row function. So I'm going to get the Big Class data from the script in section And I'm going to write a script that's going to create a new column with the BMI, or Body Mass Index, values. And I'll use the for each row function to populate that. And the body mass index is calculated by multiplying the weight in pounds ...

    ruthhummel ruthhummel
    467 views | 0 replies
  • Using the Product Function

    Another special case of iteration is the algebraic product. The Product function is similar to the Summation function, and also requires three arguments. The first argument is evaluated before the multiplication begins, and is generally used to initialize a counter or index variable. The second argument specifies a limit for the counter or index. And the third argument is the quantity to be multip...

    ruthhummel ruthhummel
    244 views | 0 replies
  • Using the Summation Function

    One special case of iteration is the algebraic sum. The Summation function requires three arguments. The first argument is evaluated before the summation begins. It's generally used to initialize a counter or index variable. The second argument specifies a limit for the counter or index. And the third argument is the quantity to be added to the sum. For example, calling the Summation function with...

    ruthhummel ruthhummel
    536 views | 0 replies
  • Using Row Functions

    So, you learned about the For function, which you can use for practically any kind of iteration. There's also a special function for iterating down the rows of the data table, and that's the For Each Row function. This function only requires one argument, which is the body or code that you want JMP to evaluate row-wise. For Each Row iterates down the rows of the data table until it comes to the en...

    ruthhummel ruthhummel
    761 views | 0 replies
  • Iteration in Scripts

    So this demonstration illustrates how to use the For function for iteration. And so far, we've used the Script Editor with the log to test our scripts and observe the results. But now we want to look at that using the debugger. So I have a script editor window open, and I'm going to start by typing Names Default to Here. And I'll put that Boolean I'm not adding spaces right now. I'm going to actua...

    ruthhummel ruthhummel
    1278 views | 0 replies
  • Debugging and Profiling Your Script

    So, the Script Editor is a really powerful tool for both reading and writing your scripts. You can also evaluate just one line of code or a selection of code to verify the behavior as you develop your script. And you can hover over a variable name to determine its current contents. You can also use the JMP Log to examine the results of evaluation or any error messages. The Debugger is a separate e...

    ruthhummel ruthhummel
    603 views | 0 replies