Our World Statistics Day conversations have been a great reminder of how much statistics can inform our lives. Do you have an example of how statistics has made a difference in your life? Share your story with the Community!
Choose Language Hide Translation Bar
Staff (Retired)
Tips for learning JMP Scripting Language (JSL)

After using JMP in my AP Statistics course this past year, I realized what remarkable software it is. With just a few clicks, JMP could help me complete my homework!

In addition to being a homework helper, JMP was capable of handling large data sets, executing every type of analysis or test I’d ever heard of, creating beautiful custom graphs, and countless other features for the more advanced statistician. I was captivated by the software.

Having (self-proclaimed) proficiency in one computer programming language, C#, and brief exposure to Base SAS, I wanted to add to my arsenal of programming languages during my summer internship at JMP. JMP Scripting Language (JSL) was the perfect choice, incorporating both my love of JMP and my interest in programming. This summer, I used JSL to analyze the popularity of some of our marketing assets.

These are a few things I found useful during my plunge into JSL:

Experimentation with JMP: I took time to explore and play with the functions in JMP. That helped me learn some JSL syntax because many of the JSL functions are similar to or abbreviated versions of their JMP interface equivalents. 

Experience with Programming Languages: My knowledge of C# turned out to be helpful for learning JSL as the two shared several characteristics, including the use of loops and Boolean expressions. However, if you have not had exposure to other programming languages, you can still learn JSL.

Use of a Book: I read and replicated the code in the book Jump into JMP Scripting by Wendy Murphrey and Rosemary Lucas. The book explains the basics of what scripts are, how to obtain, run and edit scripts, and brief JSL statements. It also has frequently asked questions with correctly coded answers. All of this information helped jump-start my learning JSL. I used the FAQ section as exercises – reading, copying and running the code. This helped me to memorize the syntax and its uses.

Scripting Guide PDF in JMP: Although I learned the basics of JSL from a helpful introductory book, I was still not quite ready to start writing scripts freehand. So I sifted through the Scripting Guide PDF book under the Help menu in JMP as my next step. The Scripting Guide provided the details I needed to ease into coding, specifically syntax rules.

Viewing, Editing and Experimenting with Scripts Created Using JMP Commands: Once I had a firmer grasp of JSL and felt ready to try writing scripts, I began by running analyses and viewing the scripts. This enabled me to learn by editing how I wanted my reports to look, adding functions onto the scripts and experimenting with new JSL syntax before beginning to write scripts independently.

Capturing Scripts

Sample Data Sets: While I was editing scripts generated by JMP, I used the sample data sets that come with the software. The diverse sample data sets were perfect for trying out different analyses and experimenting with scripts.

JSL Syntax Reference PDF in JMP: When I felt ready to write scripts completely on my own, I used the JSL Syntax Reference PDF under the Help menu in JMP. It’s an excellent resource for learning and searching for JSL functions.

Searching the Help Index: Another helpful resource was the Help Index under the Help menu in JMP. I used it to learn more about the functionalities of JSL while writing scripts.

Help Menu

Another resource I didn’t use but is helpful is the Scripting Index under the Help menu in JMP. It has a dictionary of all JSL syntax and also shows example code of how to use each function, which is useful for learning new functions.

After learning JSL, I believe I have a deeper understanding of how JMP works and the ways I can use JMP. It has been a very enjoyable experience for me, and hopefully for you, too!

Article Labels

    There are no labels assigned to this post.