# Setting up SuperTables with Data Service

SuperTables primarily relies on the Tableau Extensions API to retrieve summary data. As a result, most processing occurs on the client side, and all data is loaded at once. To address performance limitations with large datasets, we are introducing a new approach that leverages server-side processing. This significantly reduces client-side load and improves scalability. To use this feature, users must be on **SuperTables version 6.x.x or later** and **WriteBackExtreme version 6.x.x or later**.

### Setting up a data source.&#x20;

These steps require you to create a semantic model in the WriteBackExtreme environment. You can follow this guide here to create a semantic model in WriteBackExtreme [Semantic modeling](/writebackextreme/features/management-console/semantic-modeling.md)

<figure><img src="/files/a8MiD0p1BSlZOW1rFm4c" alt=""><figcaption></figcaption></figure>

In the general tab, select **External Data Service** and then click on the **Configure** button to log into WriteBack Extreme, and connect to a data source. &#x20;

<figure><img src="/files/ObMmnzyk52D2QkIK4Mvb" alt=""><figcaption></figcaption></figure>

Please contact your WriteBackExtreme administrator for the login URL and credentials.&#x20;

#### Connecting to a Data Source

In this step, you can connect to a semantic model created in WriteBackExtreme. Click on the dropdown below, select the data source to connect to a Data Source.&#x20;

<figure><img src="/files/R1JMb6Qu8AT7uDLeI3bF" alt="" width="334"><figcaption></figcaption></figure>

Once a data source is connected, a list of all available columns is displayed. When the data source loads for the first time, all columns are disabled by default. Users can select only the columns they require, and this selection can be modified at any time from the Columns sidebar.

For very large datasets, loading all columns at once can negatively impact performance, so selecting only the necessary columns is recommended.

<figure><img src="/files/Irm8asx4xNHiPmznZ0S8" alt="" width="335"><figcaption></figcaption></figure>

**Auto aggregation**

SuperTables with Data Service also support dynamic aggregation based on the visible columns in the table. This is a processing-intensive but very useful feature. When enabled, the data is aggregated based on the currently visible columns.

For example, if only **Category** and **Sales** are visible, the table displays unique categories with the sum of sales. If **Category**, **Region**, and **Sales** are visible, the table shows sales aggregated by category per region.

When this option is disabled, non-aggregated data is passed directly from the database to the grid.

#### Export limitations when using the External Data Service

When **External Data Service (WriteBackExtreme)** is selected as the data fetching method, **export options (CSV, XLS, PDF)** are intentionally disabled.

This behavior is **by design** for the following reasons:

**Performance**

* The External Data Service is typically used for **very large datasets**.
* Exporting large datasets directly from the extension could lead to **performance issues or very large file downloads**.

**Security**

* The data service provides **direct access to backend data sources**.
* Allowing unrestricted export could expose **large portions of the underlying dataset**, which may not be intended.

Because of this, export functionality is only available when using **Tableau Datasheet-based loading methods**, where Tableau controls the dataset size.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.infotopics.com/supertables/configuration/setting-up-supertables-with-data-service.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
