All posts by David Burnham

File Handling

The JMP scripting language has a number of convenient functions for handling files external to JMP.  Here’s an example:


Code Folding

Code folding allows you to collapse a block of code – you can use it  to focus on high-level structure without getting lost in the detail.

To enable code folding enable to option under the Script Editor section of Preferences, found under the File menu.

I use it with my user-defined functions to give me an overview of contents within an include file.  Combined with appropriately placed comments this helps to summarise the contents of a library of functions.  Here is an example:


Reverse Process Capability

Process capability is a well-established technique for evaluating the degree to which a process is capable of delivering a product within specification. But what if the specifications are unknown or at best tentative?

The calculations of process capability analysis can be reversed so that for a given set of target capability values the associated specification limits can be generated. The calculation is straight-forward for a normal distribution but needs a bit more thought when it comes to asymmetric distributions.


The Lognormal Distribution

The lognormal distribution is a commonly used distribution for modelling asymmetric data.  It’s just the log of a Normal distribution right?  Well no, it’s actually the other way around.  You take the log of a lognormal distribution to arrive at a normal distribution.  Is it just me, but I always have a bit of a mental block about this, it always feels a bit back to front.

In this post I will explore the relationship between a lognormal distribution and a normal distribution.


Calculating dppm

In my last post I introduced the idea of using the JSL script editor as a simple command line calculator; and prior to that I discussed how process capability indices (Cp,Cpk) are a convenient shorthand notation but suffer from lack of transparency.  Today I will bring these two themes together by showing how I can use the JSL script editor to calculate defective parts per million (dppm) for a given set of capability indices Cp and Cpk.


Activity Status Class


The idea of object-orientation is not new to JSL, but user-created objects require a complex code structure that wraps data and functions into namespaces (for example, see the navigation wizard).

In version 14,  there is explicit support for classes which dramatically simplifies the process of creating reusable objects.  I thought I would introduce them by means of a real- example: a notification window that shows progress when stepping through a sequence of time-consuming steps.