High Level Design

Overview

During the life cycle of an ElastiCube (EC) there can be cases when a user can experience data related issues or poor performances that many of those cases can occur due to bad data from the data source (garbage in garbage out), bad modeling or networkconnectivity issues. The outcome of those issues are expected to occur during the design of the EC, but also during the ongoing use of it. Therefore, when applicable, tracking the suspected sensitive parts of the EC can contribute massively to a rapid fix. This can be achieved by using Sisense Pulse functionality when a predefined KPI is getting above a threshold or having an anomaly behaviour. Then, an alert can be sent to the user which indicates that something is wrong and need to be handled. Eventually this proactive action should minimize the total time from the minute the issue occurred, thru the point that someone notice it, the troubleshooting process, till the it gets fix.

Dashboard Example (sample data)

Click on the image to open and interact with the dashboard:

Elasticube - IT Dashboard

 

Goals

  • Enable smooth use for the dashboard designers and viewers as long and without downtime as possible.

Objectives

  • Alert the EC designer that something is wrong with the EC and required his\her attention, to minimize the time when the end user will experience any data issues\poor performance.

KPIs Architecture

Objectives KPIs Measures Data Source
Alert the EC designer that something is wrong with the EC and required his\her attention, to minimize the time when the end user will experience any data issues\poor performance How Many Non-Unique Table Are There? Indicator: Sum(M2MFlag)

Scale: 0 – [# of M2M.table]

M2M;Missing Goals; SalesPerson; DimDates
Table: Per Table – Sum(M2M.Duplicated Records)
How Many SalesPerson Goals Do I Miss? Indicator: Count(Missing Goals.SalesPerson Id)

Scale: 0 – [# of SalesPerson.SalesPerson Id]

Table: Missing Goals.SalesPerson Id, Missing Goals.Name
How Much Records Do We Have in Our Biggest Table? Indicator: Max(M2M.CountUnique)
Table: Per M2M.Table – Sum(M2M.CountUnique)
What Is The Difference Between Last Build & Latest Available Date? Indicator: Sum(DimDates.Time Difference)
Table: DimDates.Latest Date, DimDates.Last Build Date;

Filter – DimDates.MaxDateFlag

 Data Requirements

# Source Table Name Table Details (Type, #Rows, Key field/s)
1 EC M2M Custom table, check uniqueness for each relevant table within the final schema of the EC
2 SalesPerson Dim Table, Key = BusinessEntityID
3 Missing Goals Custom table, check which SalesPerson can be found on the SalesPerson table but not in the SalesPersonGoal table
4 DimDates Custom Table, Gather relevant dates (on this case only form the one Fact table we have) and indicates on different attributes

Entities Relationship Diagram

 

Pulse:

Example of the Pulse creation:

Pulse Screen:

Pulse Alert: