# Building ElastiCubes

> Building an ElastiCube imports data from the data source(s) added. The data is stored on the Sisense instance and future dashboard queries are run against it.

*Source: https://docs.sisense.com/main/SisenseLinux/building-elasticubes.htm*

---

Last updated: June 11, 2026

|  |  |
| --- | --- |
| [Tier](https://www.sisense.com/pricing/#pricing) | [Deployment](https://docs.sisense.com/main/SisenseLinux/introduction-to-sisense-cloud-managed-services.md#ComparisonofManagedCloudandSelfHosted) |
| Launch     Grow    Enterprise | Cloud     On-Prem |

After defining a schema and connecting your data tables, it's time to build your ElastiCube. Building an ElastiCube
imports the data from the data source(s) that you added. The data is stored on the Sisense instance and future
dashboard queries will be run against it. You must build an ElastiCube at least once before the ElastiCube data can be
used in a dashboard.

For help with build related memory issues, see [Troubleshooting Performance Issues](https://docs.sisense.com/main/SisenseLinux/troubleshooting-performance-issues.md).

Watch this short video for an overview of the build settings:

Builds can be monitored in the Build log window, shown in the upper-right of the screen once a build is launched. If
your data set is very large, a build may take some time. Build time varies depending on various factors, such as the
amount of data being imported. You can cancel the build, by clicking the Cancel button located in the build log,
opened when you run a build.

![8 6buildprocessthumb](https://docs.sisense.com/main/Resources/Images/8-6buildprocessthumb0300.png)

**Note:**

All timestamps are based on the UTC time zone. If an accumulative build is defined by a timestamp column containing
time zone information, this accumulation will still be calculated based on the UTC timezone. However, if you are using
the Salesforce connector, you can change the time zone to match your Salesforce database. For more information, see
[Connecting to Salesforce](https://docs.sisense.com/main/SisenseLinux/connecting-to-salesforce.md).

**To build an ElastiCube:**

1. In the Data page, open the relevant ElastiCube and click ![Build button](https://docs.sisense.com/main/Resources/Images/build-button_65x24.png). The Build options window is displayed.

   ![Build options](https://docs.sisense.com/main/Resources/Images/build-options-2.png)
2. Select one of the following build options:

   - **Replace All** - Builds the ElastiCube from scratch by utilizing the current data from all of
     the data sources. This option creates a new ElastiCube snapshot of the database. Once the build is complete
     queries are routed to the new snapshot, and the old snapshot is purged.
   - **By Table** - Builds the ElastiCube based on a per-table definition. A table that dose not have
     a build type definition (Build All / Build Changes) is built from scratch. This type of build has a non-blocking
     mechanism, by creating two ElastiCube snapshots; an 'original', and an 'alternative'.
   - **Changes Only** - Builds the ElastiCube by adding new tables and / or updating tables with a
     modified schema (e.g., a new column, a data type change, a custom column added, etc.). For an in-depth
     description of these settings and their implications, see [Defining ElastiCube Build Settings](https://docs.sisense.com/main/SisenseLinux/elasticube-build-settings.md).

   **Note:**

   - The By Table option requires a duplication of the storage required.
   - The By Table option only becomes available once at least one table is configured with a non-default build
     type.
3. (Optional) Toggle the Sample Data switch to limit the number of rows imported. The counter
   determines the maximal amount of rows queried from each individual table.

   This is useful for building samples of your data and reduces the overall amount of time it takes to build an
   ElastiCube. It is especially relevant when running development cycles rather than working with the entire dataset,
   saving time by avoiding building and validating logic for larger data.
4. Click **Build**

   A pop-up opens and displays the build log. The log describes the build process. When the build is complete, the
   following message appears in the logs: **Build Succeeded**

   **Note:**

   - If the log screen stops updating during a build, the actual build continues to run in the background. In such
     cases, refresh the screen, and from the menu click **View Latest Logs**.

## Data Corruption - Rebuilding ElastiCubes

In certain cases, cubes may be built successfully but the data that is presented during table preview or ןn widgets will be inconsistently invalid.

For example, a table preview count can show a count of the actual amount of rows in the table, while the table display is empty.

The reason for this is a data corruption in dimension tables that are created for column indexing or for relationships between tables. A rebuild will usually resolve this issue..

To prevent such cases, data corruption validation verifies that all dimension tables are valid. If not, it fails the build.

The relevant toggles in the Build configuration settings are:

- "DataIndexingValidation" - Validates that all keys and values in dimension tables are unique
- "RelationDimTablesValidation" - Validates that all dimension tables that were created for relations between tables, include all the possible keys and values.
- "IndexingDimTablesValidation" - Validates that all dimension tables that were created for indexing, include all the possible keys and values.
- "DataIndexingErrors" - Determines whether to fail the build or not if any of the three validations above occurs.

A specialized retry mechanism exists for dimension table corruption detection during cube builds. A configuration property, “NumberOfBuildRetriesDimTable", is located under the build's service configuration. Its value can be set to the range of 0 to 2 (default = 1). Whenever the build fails due to dimension table corruption detection and the configuration value is 1 or 2, a build retry will immediately be triggered. This specialized retry mechanism is an addition to the "RetryBuild" and "RetryOnManualBuilds" features.

**Tip:**

For information on troubleshooting ElastiCube builds, see:

- [Resolving Elasticube(s) not starting the build process issue](https://community.sisense.com/t5/knowledge-base/resolving-elasticube-s-not-starting-the-build-process-issue/ta-p/22853)
- [Troubleshooting "BBP Error 1551" in Sisense ElastiCube Builds](https://community.sisense.com/t5/knowledge-base/troubleshooting-quot-bbp-error-1551-quot-in-sisense-elasticube/ta-p/22506)

on the Sisense Community site.
