The ETL layer in icCube allows for creating new data tables that are the result of transforming/combining existing data tables. For example, it is possible to transform an excel sheet with a column to rows transformation. Or to transform the value of a column based on other column values.

Out of the box, several common transformations are available (e.g., group-by, columns to rows, etc...). A generic transformation is available using Javascript language allowing to define your own transformations (this will need icCube to run on java 8 or higher).

Data Views

The ETL support is based on "data views" (schema builder: Data Integration / Data Views). A view is similar to a table; i.e., dimensions and facts can be built from views and tables with no difference. A view is combining one or more tables (or views) to create a new tabular data available for building dimensions and facts.


Several transformations (aka. type of views) are available :


Allows for merging one ore more tables/views that share the same structure. Details can be found here.

Columns To Rows

Allows for transforming information available over several columns into rows. Details can be found here.

Row to Columns

Allows for transforming information available in one column to generate new columns. Details can be found here.

Group By

Allows for merging several rows together. Details can be found here.


Allows for joining two tables. Details can be found here.


Allows for sorting a table (special parent/child support). Details can be found here.

Javascript Code

Allows for defining your own transformation logic. Details can be found here.


We are going to illustrate each transformation using a self-contained schema that can be downloaded here. This schema requires icCube v5.x onwards and a JRE 1.8 (for the Javascript code transformation).

Next chapter: Union describes how to perform union of tables.