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_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.