Skip to main content

Providing Time Dimension Aggregation Controls


Time Dimensions are everywhere. It is highly possible that you are recording time dimension with every data point you are capturing.  Every business pretty much uses the time dimension in some way or the other.
Some patterns in time are easy to guess and you don’t need analytics for that.e.g. What day of week do I see more customers walk into my store? Easy to guess. What months of the year I will sell spike in gifts items? Easy to guess, isn’t it?
But what if you didn’t know the pattern and want a quick and easy way to shuffle between time dimensions to find that insight from all the data you captured?



Wouldn’t it be great for a Spotfire user to have flexibility to see data aggregated at different levels like “Hour of the day”, “Daily”, “Monthly”, “Day of Week”.
Good news is Spotfire provides all these calculations in single click for a column whose Datatype is date. Each Date field you can decide how you want to display the time dimension. These are options you can chose from on any axis when using Date Column.



Selecting this will show the user data aggregated at the levels you chose.
However in this case we would like to provide the user a way to switch between some of these levels in a click.
Spotfire text areas used to build guided analytics and give a story to your data comes in handy here. Using the amazing text areas and a simple property control, you can provide end user quick access to switch between different time dimensions.
The setup would look like described below.


Create a new Property Control of the type “Drop Down List”. Map it to a property of type String, let’s call it “myDateProp”.
In “Set property values through” drop down selection use “Fixed Values”
The add the expressions like below
Let’s assume your date column is named “MyDateColumn”.
Year       <BinByDateTime([MyDateColumn],"Year",0)>
Month  <BinByDateTime([MyDateColumn],"Month",0)>
Daily      <BinByDateTime([MyDateColumn],"DayOfMonth",0)>
Hourly  <BinByDateTime([MyDateColumn],"Hour",0)>
Day of Week      <BinByDateTime([MyDateColumn],"DayOfWeek",0)>
Hour of Day        <BinByDateTime([MyDateColumn],"Hour",0)>
Close the edit mode and then on the axis you would like to change with this drop down value just set to express ${myDateProp}.
And this is how you provide users a quick ability to aggregate data across various time dimensions.




Comments

Popular posts from this blog

Using Accordions in Spotfire Text Areas

Spotfire 6.0 provides great tools for quickly building your dashboard, but here we will learn to spice up things with the help of new 6.0 text area. If you are not aware the new 6.0 Text area supports HTML, Javascript and CSS. This opens up possibilities for doing a lot more with the text area. Some of the basic stuff can be seen here http://spotfire.tibco.com/qrt/UBSAN/presentation.html?pcode=100044   One of the cool things you can do is build an accordion panel in the text area for better utilization of the valuable screen real estate and helping the overall experience.(Watch the 0:15 second video below to see how accordion works - Sorry for the jitter in the video. The screen recorder does not record fast enough) Here is the html behind the text area : Please note that Spotfire controls are automatically created when you add text area controls, like filters, drop down lists etc. <DIV id="myaccordion"> <H3>Analysis Details</...

Calendar Chart in Spotfire

I recently had a colleague asking me to show him the data in a calendar format.. Something like this I basically used a scatterplot for this.  You can check out the original DXP here  http://bit.ly/spotcalendar Some key settings to make it a calendar. Please note Order date is the date of interest here These expressions are out of the box expressions, no need to handcode them, but select them in the axis value  X Axis    <BinByDateTime([Order Date],"DayOfWeek",0)> Y Axis    Week([Order Date]) Trellis into panels   <BinByDateTime([Order Date],"Year.Quarter.Month",2)> Manual layout 4 X 3 Labels  UniqueConcatenate(DayOfMonth([Order Date])) Shape Tiled Markers Marker by   <UniqueConcatenate([Order Date])> Happy plotting your calendar!!!

Spotfire Auto Save for recovery

This is an extension I build to auto save local copies of currently open DXP every 15 minutes.. I have tested briefly and it seems to be doing its job, please please please try and test it if you can access a server and deploy.. Key Notes - This add-on will Auto Save Files while only in Spotfire Analyst Client. The save time is hard coded for every 15 minutes. Files are saved only if they are changed or user has done some actions like marking, filtering etc. The Files are saved in temporary location of the system, generally which will be like C:\Users\<username>\AppData\Local\Temp\Spotfire AutoSave If a Library file is opened it will be saved on your local machine under the temp path C:\Users\<username>\AppData\Local\Temp\Spotfire AutoSave\Library Content\ Library path will be replicated in this autosave location. e.g. C:\Users\<username> \Local\Temp\Spotfire AutoSave\LibraryContent\mylibraryfolder\mylibraryfilename_mmddyyyy_HH...