Business users love a one stop dashboard with friendly summaries and visual alerts to their key performance indicators and metrics. Oracle Endeca Information Discovery offers both Alerts and Metrics components that can be used to highlight your organizations business state.
Looking at the GettingStarted project included with OEID 3.0 you can see these in practice on the Sales Overview page:
Traditional BI dashboard KPI’s and metrics tend however to be formally defined and controlled. OEID’s paradigm of open and largely unconstrained data exploration doesn’t necessarily align to formal constraints and means those metrics may need special attention. A metric that aggregates all sales for all time isn’t insightful for tweaking current business activities.
The user is obliged to start exploring and navigating the records for that displayed metric to present any actual meaning. Filtering the records to the current period using a hard coded refinement filter on the data source is a reasonable option. That would however impact all components and trend charts could be negatively affected.
The most common and simplest tactic we find is filters hardcoded directly in the query syntax for that metric. If we peek under the hood on those Sales Overview metrics you can see this in practice:
Hardcoding those years presents a couple problems. Greatest is the business has to maintain those filters, and across many metrics and many environments the effort can be significant and prone to error. Should one update be missed business users can lose their trust in the data and that can be difficult to recapture. Less obvious and more discomforting is the gap between “Total Sales” and “Number of Orders”. In fact that latter value includes 2010 data, but this isn’t obvious and can lead to poorly informed business decisions. And again we face the risk our business users will lose trust in the data.
Creating and displaying a dynamic filter is a better option. For the GettingStarted project I created these two views to identify the current and previous time periods:
Below you’ll see how I’ve rewritten the original GettingStarted query to leverage those custom views and a more dynamic identification of current and previous fiscal years. I’m also now displaying a more accurate total number of orders with respect to the metrics we’re actually displaying. Lastly I’m including the current fiscal year to provide the user with a bit of context on what they’re seeing at any point in time.
These metrics queries will never need to be maintained. Even better however they’ll remain both dynamic and relevant to the users’ current navigation state. If we remove 2012 from the navigation state as per the image below you can see how the original metrics compare to the ones we just added. Business users will be a lot more satisfied with an accurate sales growth of 71% vs. -100%.
Stay tuned to my next posting on how to resolve a performance issue when using a WHERE clause.