Overview
Version 3.1 makes it easy to create Spotfire applications infused with computational methods written directly in S+ or R (* see footnote). This is how Spotfire can easily become the intuitive, interactive interface to custom, sophisticated applications that find patterns, detect outliers, predict trends, cluster groups, optimize outcomes, and much much more. Spotfire 3.1 gives users a great deal of control over the values and data sent off for calculation by S+ or R, and also provides creative ways to display and refresh the results within Spotfire clients. You can even make these powerful interactive applications available to web users by simply saving the application file to the Spotfire Library. Best of all, you can do all this with point-and-click configuration, so you won’t need to write a line of code other than any custom S+ or R script you want to leverage.
Benefits
Operationalize your analytic expertise. Here is the typical disconnect in today’s enterprise: One one hand, you have analytic experts know how to handle analytic challenges but are tied to arcane toolsets and it is difficult to rapidly scale out their work. On the other hand, business analysts have the passion to solve their domain problems but may lack sophisticated analytic methodology or access to the experts. Custom applications can be built to bridge this gap, but app building toolsets like C# and JAVA also demand time from specialized, constrained resources like IT groups. Spotfire 3.1 unleashes analytic power of your personnel by making it easy to configure reusable analytic applications that put the right amount control and flexibility in hands of business analysts in a scalable way without requiring a line of code.
A Simple Example: Loess Trend Smoothing
Here is a simple example of integrating an S+ script with a Spotfire application. The blue trend line is raw trend data loaded in Spotfire. The dotted red line is drawn from smoothing results calculated from an S+ script that utilizes a function called “loess”. The smoothed trend is configured to automatically recalculate every time the original trend data is filtered. (Click here to try using this application right now!)
Here is a little more detail on how this example is put together. The thing to remember is that these computationally sophisticated apps are configured, not coded. We start off with a simple trend line of values over time.
We register our loess algorithm a Spotfire “Data Function” by cutting and pasting S+ script right into Spotfire. The inputs and outputs required for this script are also described here. Registration is a one-time event. Once the script has been registered as a Data Function it can be referenced in as many different applications as you like.
Now that we have registered the Data Function, we can incorporate it into our application and map the inputs and outputs appropriately to our dataset. Now is also the time to decide if the calculation is refreshed manually by the user or automatically each time the input values are changed or filtered.
The loess results come back as a separate table of data. A new feature called “Line from Column Values” makes it possible to juxtapose the newly calculated smoothed values with the original data.
When the original data is filtered in Spotfire, the data is re-sent to the S+ engine, the a new smoothed trend is calculated, the new result is returned to Spotfire and refreshed visually, and all this happens automatically. To make this application available to web users, all you need to do is click File > Save As… > Library Item and you’re done.
Inputs and Outputs
For a given calculation Spotfire can send any number of single values, single columns or entire tables of data as inputs to S+ or R. Spotfire can also handle any number of single values, columns or data tables as return from S+ or R. It is even possible to return images generated by S+ and see them inside Spotfire.
In Spotfire 3.1 there are new user controls available within text areas that can change visualization settings or adjust variables in calculations. These same user-modifiable settings and variables can be used to determine input parameters to S+ or R scripts and functions. This gives builders a great deal of control in creating powerful applications that are easy to use.
When to Use the Local Adapter
When experimenting or prototyping with an S+ or R powered Spotfire application, you may not wish to constantly communicate with a Spotfire Statistics Services server. You can override Spotfire to use a locally installed S+ or R engine by installing the Local Adapter. This reduces load on server-based resources and gives you greater freedom to experiment. The Local Adapter is bundled with Statistics Services to enable local development, though the local S+ or R engine being called from the Adapter must be installed separately.
Requirements
Required to create the application shown in the example above: TIBCO Spotfire Server, TIBCO Spotfire Statistics Services, TIBCO Spotfire Professional & Metrics
Optional related products: TIBCO Spotfire Web Player for web based application usage, S+ desktop or Workbench for developing S+ scripts and functions, add-on modules that enhance S+ such as FinMetrics and NuOpt, TIBCO Spotfire Local Adapter (comes with Statistics Services), and R*.
* R is available under separate open source software license terms and is not part of the TIBCO Spotfire product line. As such, R is not within the scope of your license for any TIBCO Spotfire product. R is not supported, maintained, or warranted in any way by TIBCO Software Inc. Download and use of R is solely at your own discretion and subject to the free open source license terms applicable to R.