Author: Jason May

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Spotfire:  Using Document Properties to Reverse a Color Scheme Based on Desired Outcome

Have you ever wanted to reverse a Spotfire visualization color theme based on whether an outcome is desired or not?

For example, positive production almost always equates to a desired outcome while one might want to see CAPEX decrease.  If switching between the two options in a visualization via a Document Property, we might want to indicated a desired outcome as green and an undesired outcome as red rather than simply designating positive numbers as green and negative numbers as red.

Today, we will show you how to use a document property to create a switch, which will then alter the color scheme to denote whether an outcome is desired or undesired rather than positive or negative.

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Keeping Spotfire Visualizations Working when Replacing Data by Using Column Properties

Do you ever try to replace data in a Spotfire dxp only to find many of the visualizations no longer work?

At Ruths.ai, we create Spotfire templates as one of our main products.  Often, people have to replace our source data with their own to utilize our templates.  However, this can cause some complications when they match columns with different names than the ones in our source data.  Ideally, people would like to keep their column names because the names have business implications. Yet, when that column name has been hard coded into a Spotfire expression, a visualization, calculated column, or data limiting expression could break.

Until now.

In this post, we will demonstrate how to use column properties to ensure that expressions will remain intact in a Spotfire dxp even after changing a column name when replacing data.    

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

“Whiting Out” a Visualization Label in Spotfire

When using Spotfire, do you ever place a variable on an axis to make the visualization look a certain way, only to see its label show up unwanted next to the other necessary labels?

I’ve had this happen when manipulating dates or forcing a visualization (scatter plot, waterfall chart, bar chart) to be in a certain rank order.  Recently, I wrote a post on how to rank and order a gantt chart, which faced this issue.  I discussed how to remedy the issue in that article, but here I want to highlight the method used since we can use it in many other scenarios.

In this post, we will discuss how to white out a label on an axis.

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Exporting Spotfire to PDF with Action Control Button

Recent Spotfire versions include the ability to export visualizations, pages, or the entire analysis into a PDF from the File menu or even with an Action Control button.  Finally!  Version 7.12 includes extremely user friendly customization options while previous versions require some IronPython code:  we will address both here.

The 7.12 version gives the user an interface for customization that we could previously only access via IronPython.  Spotfire has delivered what many users for years have clamored for, so check it out after the break…

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Spotfire: Utilizing Column Properties (and How to Make Your Own)

Did you know that you can create your own Column Property and then designate a property value for each column?  Did you know that you can do this not only in the Property Control window but also in the Column Property window for even more flexibility?

Why might you want to create your own Column Property?  Maybe you want to group a handful of columns together by some shared quality.  Why might you want to do that?  Both Custom Expressions and Search Expressions can utilize a Column Property, so you can create these properties for columns and then reference the columns with a shared quality.

Frankly, there is a lot of uncharted territory and potential innovation within this relatively unknown Spotfire feature, so our main focus today will be to discuss briefly what Column Properties are, demonstrate two ways to make your own, and show one possible use case.

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Using Spotfire Search Expressions to Limit Columns in Data Function Parameters Window

Recently, I added a hierarchical column to a data table only to see a data function break and scream error messages at me as a result.  The data function used the table in question and included all of the columns of the data table using “*” in the Parameter Input Search Expression window.  However, the data function did not know how to handle a hierarchical column as an input.  So, how could I exclude this column while keeping all of the others without hard coding them, so that they would remain dynamic for data replacement purposes?  The Search Expression window is the answer.

In the Edit Parameters window, I chose the data table input, then typed “not ColumnType::Hierarchy” in the Search Expression window.  Each column has a column type, which we can see in Column Properties.

This Search Expression calls the Hierarchy column type, then excludes it with “not”.  That’s all it took to fix my data function!

Search Expressions can be very powerful in limiting data table metadata so that only columns, categories, or certain data types get utilized by different Spotfire capacities.  Check out a recent blog I wrote about using Search Expressions in Property Controls to get a more in depth look at different expression terminology.

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Using Spotfire Search Expressions to Limit Property Controls

Spotfire Property Controls like drop-down menus and list boxes can become cumbersome when a dataset has numerous variables and/or multiple data types.  What if we don’t want all columns to be available to the user for industry reasons (some columns wouldn’t make sense) or simply efficiency reasons (too many columns to sift through)?  What if only certain data types would be appropriate to use?  Fortunately, Spotfire lets us limit these list Property Controls via Search Expression.

Maybe you’ve seen those little search boxes in Spotfire which allow you to search for data (columns, categories, etc).  Maybe not, as I’m finding out even many Spotfire experts haven’t.  Search Expressions act distinctly from Custom Expressions.  These expressions do not use mathematical operations.  They do not use brackets to denote a column.  You cannot use another Document Property within the limiting expression.  These expressions serve only to search for strings using a simplified language (usually with the goal of selecting or limiting something).  Property Controls, Data Function Parameter windows, and the Information Designer are a few of the places you might find a Search Expression window and today’s discussion on Search Expressions will most likely apply to all of the scenarios.

So, let’s take a look at how we can use Search Expressions in different ways to control and limit the options in our list based Property Controls.

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Well Spacing: More Than One Number

With the rise of unconventionals and the increase in wells permeating already tapped fields, Well Spacing has become the hot topic du jour.  But, what is well spacing?  Does it refer simply to how many wells are in one area?  If so, is that area defined by a circle or rectangle or other definition?  What is the make-up of the nearby wells?  Today, we will examine some common terms and approaches to analyzing well spacing.

Two templates that utilize the features that we will discuss in today’s post are Well Spacing Feature Calculations and Horizontal Well Spacing Model.

Key terms we will discuss today:  Voronoi Diagram, circular and rectangular radius, Area of Interest, intersect area, intersecting wells, closest wells, closest distance, aggregated well statistics.

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Rank Sorting a Spotfire Gantt Chart’s by the X-axis

Recently, a client reached out to see if I could help re-order the categorical Y-axis of their gantt chart by the numerical value on the X-axis. The client wanted the Y- axis ordered by the date of the first occurrence of an event. As the chart descended on the Y-Axis, the values would get larger on the X-axis. To do so took some trickery and an outsmarting of Spotfire–the methods which I will share here. Solving the problem left me with two learned lessons:

  1. How to re-order a Gantt Chart’s (or any Scatter Plot’s) categorical Y-axis by the value on the X-axis.
  2. Bonus trick: how to “white-out” an axis label so that it doesn’t show, while other labels remain.

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.

Spotfire Solution: Replacing Data with Different Named Columns while Using the Data Limiting Expression

In Spotfire, the filter panel allows one to easily remove ranges of values from your data.  We can gain even further granularity and control of what we hide from a dataset by applying the “Limit data using expression” window.  However, the “Limit data using expression window” doesn’t play nice when you want to replace a data table by matching columns with different names.

When we use replace data functionality and the limiting expression uses a matched column, the expression doesn’t update the column name (as it does with other expressions), which leads to unexpected results.  Call this one of those “endearing” Spotfire intricacies.

Fortunately, we can get around this issue by creating a Show/Hide calculated column and rerouting our limiting expression through a calculate column, which will update when you replace data.

Read More

Jason is a Junior Data Scientist at Ruths.ai with a Master’s degree in Predictive Analytics and Data Science from Northwestern University. He has experience with a multitude of machine learning techniques such as Random Forest, Neural Nets, and Hidden Markov Models. With a previous Master’s in Creative Writing, Jason is a fervent believer in the Oxford comma.