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.
A wizard is a familiar user-interface mechanism for scrolling through a sequence of steps of more generally scrolling through a series of content. In this post I illustrate how this functionality can be implemented through the use of an object-oriented framework. (more…)
JSL is often described as a scripting language. Personally I think that doesn’t do it justice. I prefer to think of it as a programming language. The difference? For me an obvious difference is that instead of using hard-coded values I want to use variables. In particular I want to use variables to handle column references.
I was recently asked a question about updating display boxes. Display boxes are the building blocks of JMP output windows. Fundamentally there are two methods of updating these display boxes, which I will take a closer look at. (more…)
I’m sure there is a more technically correct term for this: I use the phrase segmented regression to describe the process whereby I select a segment of data within a curve and build a regression model for just that segment.
I have some code to aid the process. The code illustrates how to perform regression on-the-fly as well as how to utilise the MouseTrap function to handle mouse movement events.
The problem with the internet is that it gives you too much information, or rather, it takes too long to gather the information. I often cross reference hotel booking sites with TripAdvisor, and its a laborious process. So this evening I decided to streamline my process by writing a script to gather to user reviews into a JMP table and simple report.
A question that I’ve been asked a few times is “how can I script a data filter?”. My response to this question is always the same: “why would you want to do this?”.
In scripting, a common task is to manipulate data through row selections; a data filter is a tool that allows you to perform the same task interactively without scripting. Which means: you either script or you use a data filter.
So now the question becomes: “how can I implement functionality equivalent to a data filter using JSL?”.
In this post I will look at answering this question. But since there are occasions where is is desirable to explicitly script the data filter, I’ll look at that too!
The best way to script table manipulation tasks such as joins and subsets is to first perform the task interactively and then make a copy of the source JSL that is automatically generated by JMP. In many instances this code is sufficient, but sometimes you need to make the code more general, and that’s where things can get tricky.
In this post I will take you through the process of transforming the JMP-generated code into a more flexible piece of JSL.