Groovy Libraries and Logics (Customer Insights)

These are the main Groovy logics in this architecture:

CustomerInsights (Groovy library)

The main library is used in the Customer Insights Dashboard logic. It provides functions to query and process data.

 

CustomerUtils

Provides functions related to Customer such as: getAllCustomerIdsWithOtherAttributes, groupByCustomerAttributes

ProductUtils

Provides functions related to Products such as: getProductAttributes, getSourceFieldsFromProductDataSource

DateUtils

Provides functions related to dates.

Configuration

Reads configured data from a price parameter and advanced configuration options.

CustomerGlobalDashboardUtils

Provides logics to process data to be shown in CustomerInsights_GlobalView dashboards.

CustomerDetailDashboardUtils

Provides logics to process data to be shown in CustomerInsights_CustomerDetails dashboards.

CustomerProductPortfolioDashboardUtils

Provides logics to process data to be shown in CustomerInsights_CustomerProductsPortfoliodashboards.

CalculationCommonUtils

Provides some common/calculation functions.

QueryUtils

Provides functions to query data from the Datamart / Data Source.

Constant

Defines constants used in the Customer Insights Dashboard.

DataTable

Provides functions to build the row format of the result matrix to be displayed in the dashboard.

InputUtils

Provides functions to build input controls such as: Time Filter, Category/Value…

Classification

Provides logics to pre-process data such as: calculate Customer Health Score, Trends…

Used in dataload logic (CustomerInsights_DL_Aggregation).

ClassificationQueryHelper

Provides functions to build a Query object to summarize data from Datamart / Data Source to use in Classification.

CalculationQueryHelper

Provides functions to build a Query object to summarize data from Datamart / Data Source to use in Calculation.

SummaryPortletUtils

Provides functions to create a summary data table (Summary portlet) in dashboards.

CustomerSegmentUtils

Provides functions to query and build segment data from sources.

CommonDashboardParameter

Defines common parameters used in the package.

GlobalViewDashboardParameter

Defines parameters used in the Global View dashboard, they are inherited from Common Dashboard Parameter.

DetailViewDashboardParameter

Defines parameters used in the Detail View dashboard, they are inherited from Common Dashboard Parameter.

PortfolioDashboardParameter

Defines parameters used in the Portfolio dashboard, they are inherited from Common Dashboard Parameter.

DataLoadParameter

Defines parameters used in the Data Load logic (CustomerInsights_DL_Aggregation), they are inherited from Common Dashboard Parameter.

InactiveCustomerUtils

Provides functions to process inactive customers.

CommonChartUtils

Provides functions to process charts in dashboards.

DataLoadUtils

Provides functions to process Data Loads such as: find dataload…

SharedLib

Groovy library to provide common functions.

HighchartsLibrary

Groovy library to provide functions to build Highcharts shown on the dashboard.

Use version 1.1.2 and higher.

SIP_Dashboards_Commons

Groovy library of Sales Insights, it re-uses some methods to build a waterfall chart in a dashboard.

CustomerInsights_DimensionFilter_Configurator

Configurator logic to build the Category/Value input in dashboards.

CustomerInsights_DimensionFilter_Configurator.png

CustomerInsights_GlobalView

Customer Global View dashboard logic.

CustomerInsights_CustomerDetails

Customer Detail View dashboard logic.

CustomerInsights_CustomerProductPortfolio

Customer Product Portfolio dashboard logic.

CustomerInsights_DL_Aggregation

Fills data into Data Source CI_AggregatedData

CustomerInsights_CF_Sequencer

CF logic.

CustomerInsights_DS_CustomerClassification

Fills data into Data Source CI_CustomerClassification.

Note: Almost all dashboard logics use SQL to have a better performance in case there are large data sets.