# Introduction to EDITable

Master Data Management with Workflows, Audit & Governance

EDITable is a no-code, live writeback product that lets you create and manage your master tables, reference data, metadata, and flat tables for your reporting & planning applications.&#x20;

It complements your Master Data Management (MDM) solution as a self-service data management platform within Power BI, empowering business users with little assistance from IT for setup and management.

<figure><img src="/files/ddeYGEvzv6inupQOxbh6" alt=""><figcaption><p>Manage Reference data and Flat tables</p></figcaption></figure>

EDITable creates a table for you in the database and provides a pre-configured Power BI report with a live connection to the table. This enables you to update and manage them in real time.

#### With EDITable, you can:

:white\_check\_mark: Build your database from scratch on the required data platforms easily.&#x20;

:white\_check\_mark: Quickly migrate your Excel or CSV data files to your desired destination platforms to manage them.

:white\_check\_mark: Update and work with your existing databases in real-time by connecting to them within Power BI.

Along with these core capabilities, EDITable provides robust data security and governance features, including row and column-level access controls, audits, and approval workflows. It also enables seamless collaboration and integration through commenting, webhooks, and historical data tracking with type 2 SCDs.

EDITable supports forward-looking master data that is needed for plans but has not yet been created in your tables. Whether you are a business user or a database administrator, you can leverage EDITable to suit your needs.

## Databases Supported

Choose your preferred database connections to create, migrate and manage data seamlessly. EDITable supports a wide range of cloud-based and on-premise databases including Fabric Warehouse, Fabric SQL, Azure SQL, Snowflake, Databricks, BigQuery, Amazon Redshift, and PostgreSQL.

Whether you're importing your spreadsheet data into these connections or connecting to existing databases to manage them, Editable has it all.

<figure><img src="/files/UoqNr6OETYk2O2aaKz6f" alt=""><figcaption><p>Supported databases</p></figcaption></figure>

## Key Features in EDITable

The capabilities of EDITable include:

1. Centralized data management for both reference data and flat tables.
2. Execute CRUD actions on data platforms without any code or extensive customizations.
3. Writeback and sync your data in real-time, anywhere.
4. Robust data governance with row and column-level access controls.
5. Audit logs & approval workflows for change management.
6. Set up a rule-based approval system.&#x20;
7. Support for lookup tables to create custom rules for approvals.
8. Support for Type 2 SCDs, table editing, and condition-based formatting.
9. Supports bulk edits and updates.
10. Collaborate effectively with your team with the commenting capabilities and also notify them via email.
11. No-code experience and designed for business users.

<figure><img src="/files/AXp7aICySEM6vyG98yT6" alt=""><figcaption><p>Key Features in EDITable</p></figcaption></figure>


# Why EDITable?

EDITable provides enhanced data management capabilities since the **source and the destination tables are the same**.

Business users can directly update their data with minimal to no assistance from IT team using the writeback solution offered by EDITable. Be it products, regions, accounts, cost centers, customers, employees or salaries - keep everything updated to ensure the integrity of your plans and forecasts.&#x20;

You can seamlessly sync your changes while also ensuring data integrity, security and governance with EDITable's row and column-level permissions, approval workflows and more, in a no-code interface.

## EDITable vs. Other Matrix visuals

We will now understand how EDITable differs from other similar visuals. To help you understand, we have drawn a comparison between Inforiver Writeback Matrix and EDITable:

<figure><img src="/files/Ks1yObbORXL5ILkhekuK" alt=""><figcaption><p>EDITable versus Inforiver Writeback Matrix </p></figcaption></figure>

## EDITable vs. Power Apps <a href="#headline-571-11970" id="headline-571-11970"></a>

While Power Apps can handle similar business use cases, EDITable clearly outperforms Power Apps in several areas, particularly when it comes to ease of use and time to market. EDITable's straightforward approach sets it apart as the better choice. \
\
Let’s compare EDITable and Power Apps:

<figure><img src="/files/MVyvhgPTF0ooXJl4FqoS" alt=""><figcaption><p>EDITable vs Power Apps</p></figcaption></figure>


# Supported Database Connections

EDITable lets you choose your preferred destination data platforms for creating, migrating and managing your data. The supported database connections include,

* Azure SQL
* Amazon Redshift
* BigQuery
* Databricks
* Fabric Warehouse
* Fabric SQL
* PostgreSQL
* Snowflake

<figure><img src="/files/UoqNr6OETYk2O2aaKz6f" alt=""><figcaption><p>Supported Database Connections</p></figcaption></figure>

EDITable also offers a managed DB (EDITable Azure SQL managed DB) if you wish to demonstrate and test the writeback and sync. You can use this for demo samples and POCs. To learn how to enable this, please refer to [this section](https://docs.editable.io/introduction-to-editable/pages/Mdg9QPYumNelXdHHBZ9G#id-3.-editable-managed-db).


# Get Started

This section features the steps to get you started with EDITable.&#x20;

<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>                   <strong>EDITable Pre-requisites</strong></td><td></td><td></td><td><a href="/pages/wqPCNCq1DNtXoabh23Lj">/pages/wqPCNCq1DNtXoabh23Lj</a></td></tr><tr><td>                            <strong>Install EDITabl</strong>e</td><td></td><td></td><td><a href="/pages/0yQj0NNUc24hhTPDZdgi">/pages/0yQj0NNUc24hhTPDZdgi</a></td></tr></tbody></table>


# EDITable Pre-requisites

Before you set up EDITable, you must complete the following additional steps with your Power BI administrator:

* EDITable is an add-on visual that operates on top of the Power BI framework, so users must log in with their Microsoft O365 account. Learn more more about Admin consent for Editable's Entra ID.
* Network firewalls block connections from IP addresses that do not have permission. You need to whitelist EDITable's outbound IPs in your Azure SQL database firewall rules.
* EDITable connects to data sources only through DirectQuery. Please ensure to select **DirectQuery** in Data Connectivity mode when you are connecting to data. To learn more, you can check out these pages: [About DirectQuery in PowerBI](https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-directquery-about) and [Connect using DirectQuery](https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-use-directquery).


# Admin consent for EDITable's Entra ID

EDITable is an add-on visual that operates atop the Power BI framework. Power BI does not share user details, hence users must login with their Microsoft O365 account. Admin consent will be required to login or add writeback destinations.

Users may get an approval window as shown in the screenshot.

<figure><img src="/files/vzarC9ovmdxkA3XWhsxY" alt=""><figcaption><p>Admin approval screen</p></figcaption></figure>

A tenant admin can provide basic access or give full admin consent by following the steps outlined:

* [Basic consent](/get-started/editable-pre-requisites/admin-consent-for-editables-entra-id/basic-consent)
* [Full admin consent](/get-started/editable-pre-requisites/admin-consent-for-editables-entra-id/full-admin-consent)

The user can log in or add writeback destinations once the admin has approved.


# Basic consent

When users login to the EDITable portal for the first time, admin consent will be required to authenticate the user. The portal utilizes EDITables’s Entra ID app to authenticate the user, and admins need to provide consent for users to be able to login.

**STEP 1:** Admins can directly navigate to the consent URL.

```
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=91891913-3884-46d3-bb4c-f68d33f43d4b&response_type=code&redirect_uri=https%3A%2F%2Faddons.inforiver.com%3A443%2FRedirect&response_mode=form_post&scope=https%3A%2F%2Fgraph.microsoft.com%2FUser.ReadBasic.All https%3A%2F%2Fanalysis.windows.net%2Fpowerbi%2Fapi%2FReport.Read.All https%3A%2F%2Fanalysis.windows.net%2Fpowerbi%2Fapi%2FDataset.Read.All https%3A%2F%2Fanalysis.windows.net%2Fpowerbi%2Fapi%2FWorkspace.Read.All https%3A%2F%2Fgraph.microsoft.com%2FGroup.Read.All https%3A%2F%2Fgraph.microsoft.com%2FGroupMember.Read.All&prompt=consent
```

Users can either use the **Copy Link** option highlighted in the screenshot below or open the consent URL and share it with the admin.

<figure><img src="/files/BL08yHpgOdpptp5FNDIW" alt=""><figcaption><p>Admin approval notification</p></figcaption></figure>

**STEP 2:** Admins can approve the permissions listed in the screenshot to allow users to login.

<figure><img src="/files/PWO5bXg2u70qdwW73p5B" alt=""><figcaption><p>Permissions required for user login</p></figcaption></figure>

**STEP 3:** Additional permissions are required to add functionalities like inviting other users in the organization and connecting to Power BI with EDITable. Admins can navigate to the consent URL:

```
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=91891913-3884-46d3-bb4c-f68d33f43d4b&response_type=code&redirect_uri=https%3A%2F%2Faddons.inforiver.com%3A443%2FRedirect&response_mode=form_post&scope=https%3A%2F%2Fgraph.microsoft.com%2FUser.ReadBasic.All https%3A%2F%2Fanalysis.windows.net%2Fpowerbi%2Fapi%2FReport.Read.All https%3A%2F%2Fanalysis.windows.net%2Fpowerbi%2Fapi%2FDataset.Read.All https%3A%2F%2Fanalysis.windows.net%2Fpowerbi%2Fapi%2FWorkspace.Read.All https%3A%2F%2Fgraph.microsoft.com%2FGroup.Read.All https%3A%2F%2Fgraph.microsoft.com%2FGroupMember.Read.All&prompt=consent
```

Admins need to provide all the permissions shown in the screenshot and check the ‘Consent on behalf of your organization’ option.

<figure><img src="/files/hGII6HpB3iM1Mh6LaGWj" alt=""><figcaption><p>Power BI related permission</p></figcaption></figure>

Note: After clicking Accept, admins may get a ‘Login Failed’ page, this is expected behavior if they aren’t a member of the EDITable portal.

**STEP 4:** After providing permissions, the EDITable Entra ID app’s permissions page in the Enterprise Applications section should look like this.

<figure><img src="/files/MTVQaEXNjo5BjWI3KPLL" alt=""><figcaption><p>EDITable Entra ID epp permission page</p></figcaption></figure>


# Full admin consent

Users may encounter the "Need admin approval" page when they try  to add writeback destinations. The tenant admin needs to provide consent to EDITable’s Entra ID app.

**STEP 1:** Admins can navigate to the URL

```
https://login.microsoftonline.com/organizations/adminConsent?client_id=91891913-3884-46d3-bb4c-f68d33f43d4b&redirect_uri=https://addons.inforiver.com
```

**STEP 2:** Click Accept to provide consent for all the permissions listed.

<figure><img src="/files/gVO6WD34eLKlUBG02UYj" alt=""><figcaption><p>Permissions for the Lumel app</p></figcaption></figure>


# Install EDITable

You can install EDITable in two ways, as listed below:

1. Importing from .pbiviz file
2. Installing from Microsoft AppSource

{% hint style="info" %}
If you are a Power BI administrator and you are looking to import the visual for your organization as Organizational Custom Visual (OCV), please refer to [this section](#install-editable-for-your-organization-org-visual).
{% endhint %}

## 1. **Importing from .pbiviz file**

This section explains how to install the EDITable visual for yourself using the .pbiviz file you received in the mail.

1. Open your report in Power BI Desktop or Power BI service.
2. Select the three-dot menu from the Visualizations pane.

<figure><img src="/files/VDL6BvdOjAnTFWFhC8zY" alt=""><figcaption><p>Click on ellipsis menu</p></figcaption></figure>

3. Select **Import a visual from a file** from the menu.

<figure><img src="/files/1ZqSv4gQyZLAqRTIp6Fe" alt=""><figcaption><p>Import visual</p></figcaption></figure>

4. You will get a message cautioning you about importing custom visuals. You can ignore it by clicking **Import** as custom visuals through .pbiviz files are not provided by Microsoft.&#x20;

<figure><img src="/files/4CVH8zV1UcfelApbP20r" alt="" width="375"><figcaption><p>Click 'Import'</p></figcaption></figure>

5. Navigate to the folder that has the custom visual file (.pbiviz) and open it.
6. When the visual has successfully been imported, select **OK**.

<figure><img src="/files/adp1rWXnuZ9Xf1tDF36i" alt="" width="531"><figcaption><p>Click OK</p></figcaption></figure>

7. The visual now appears as a new icon in the visualizations pane of the current report.

<figure><img src="/files/wYHR8RyN7amS9dghC5bt" alt=""><figcaption><p>Visual is imported</p></figcaption></figure>

8. If you want the visual to remain on the visualizations pane for all reports, right-click on it and select **Pin to visualizations pane**.

<figure><img src="/files/Y0MxAgNIy8wVDguYr1Zc" alt="" width="293"><figcaption><p>Pin to Visualizations pane</p></figcaption></figure>

9. The visual gets pinned.

<figure><img src="/files/iZCeaKcORb085UuHNPpe" alt="" width="290"><figcaption><p>Pinned visual</p></figcaption></figure>

## **2. Installing from Microsoft AppSource**

To install the certified EDITable visual from Microsoft AppSource, follow the steps below:

1. Click on the ellipsis in the Visualizations pane and select **Get more visuals**.

<figure><img src="/files/nFwOJeAP5XJ9xhenrT1O" alt=""><figcaption><p>Get more visuals</p></figcaption></figure>

2. Search for EDITable in the AppSource visuals tab and select it to import.

<figure><img src="/files/mjjG0PzQGdG27LQXUtpw" alt=""><figcaption><p>Select EDITable</p></figcaption></figure>

## **Install EDITable for your organization (Org visual)**

Your Power BI administrator must access the admin portal and install EDITable under Organizational visuals. [Learn more about installing organization visuals](https://learn.microsoft.com/en-us/fabric/admin/organizational-visuals).

To add EDITable under the **Organizational visuals** tab in Power BI, ask your Power BI Admin to follow the steps [here](https://docs.microsoft.com/en-us/power-bi/admin/organizational-visuals#organizational-visuals).

In the following section, we will add the EDITable visual to the Power BI canvas.


# Add EDITable visual

EDITable is a custom visual in Power BI. The first step to using EDITable is to add it to the Power BI canvas before we start working on it.

## 1. Add visual

Click on the **EDITable** icon from the Visualizations pane. Resize it to fill the entire screen.

<figure><img src="/files/Vfz5C2EYUGzH5k61Qoxm" alt=""><figcaption><p>Add visual</p></figcaption></figure>

{% hint style="info" %}
*EDITable can be used with other native and custom Power BI visuals, but throughout this guide, we will demonstrate and display EDITable images in full-screen mode for the best experience.*
{% endhint %}

## 2. Getting started with EDITable

EDITable provides the following two options:

* Use Existing Table
* Create New Table

<figure><img src="/files/fs2ygCfvXkm5vNoSnWK2" alt=""><figcaption><p>Getting started</p></figcaption></figure>

### 2.1. Use Existing Table

If your data already resides in any of the supported databases, you can directly connect to the data in **DirectQuery mode** and assign the fields before customizing and managing it.

[This section](/getting-data-into-editable/connect-to-data) explains how to connect to data and assign fields.

### 2.2. Create New Table

If you need to create a table from scratch or if you want to import your spreadsheet data (.xlsx or .csv formats) to the databases, you can use this option.

[This section](/getting-data-into-editable/create-a-table) explains both of the methods mentioned above in detail.


# Getting Data into EDITable

&#x20;In this section, we will look at how to use EDITable to connect to data or start creating a table.

<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>                          <strong>Connect to Data</strong></td><td><a href="/pages/XXZaysMaeS8E9hRHwOcn">/pages/XXZaysMaeS8E9hRHwOcn</a></td></tr><tr><td>                              <strong>Create a Table</strong></td><td><a href="/pages/ocQS195Jlpf4qFLycU6f">/pages/ocQS195Jlpf4qFLycU6f</a></td></tr></tbody></table>


# Connect to Data

There are two ways to connect to existing data in the databases:

1. **From the Power BI Report:** Use the **Get Data** option in Power BI to connect to the data through **Direct Query** mode.

<figure><img src="/files/76iOUaxMzamO3r5QCDAu" alt=""><figcaption><p>'Get data' option in Power BI </p></figcaption></figure>

2. **From the Editable Console:** Select '**Create Table'** and choose **Use Existing Data.** The detailed steps are available [here](/getting-data-into-editable/create-a-table/use-existing-table).

<figure><img src="/files/xmoGInZ1Gikp0czZAbzX" alt=""><figcaption><p>Get data from the console</p></figcaption></figure>

\
\
In this section, we will focus on connecting to an existing database using the EDITable visual in Power BI. This process involves the following steps:

1. [Get Data](/getting-data-into-editable/connect-to-data/get-data)
2. [Assign fields](/getting-data-into-editable/connect-to-data/assign-fields)
3. [Configuration Steps](/getting-data-into-editable/connect-to-data/configuration-steps)

All these are explained in the upcoming sections.&#x20;


# Get data

In this section, we will get the data by connecting to a database through **DirectQuery mode in Power BI.**

{% hint style="info" %}
If you're looking to create a table from scratch or import spreadsheet data, you can refer to  [this section](/getting-data-into-editable/create-a-table).
{% endhint %}

1. To load the required data into Power BI, select **Get data** on the Home ta&#x62;**.** The procedure is the same as importing any data into Power BI. In this example, we'll choose 'Azure SQL database'.

<figure><img src="/files/GPv1wWnTHHwLal9FayBj" alt=""><figcaption><p>Select database</p></figcaption></figure>

2. In the SQL Server database dialog box, enter the **Server** and **Database (optional)** names, and make sure the **Data Connectivity mode** is set to **DirectQuery**.

<figure><img src="/files/4vUoNwUMXKyArNxpZ5Ul" alt=""><figcaption><p>Enter the server and database names</p></figcaption></figure>

{% hint style="info" %}
EDITable connects to data sources only through **DirectQuery.** This ensures the report always uses the current data.&#x20;
{% endhint %}

**Note:** For any database connection, make sure to select DirectQuery mode. Please find below the image that appears when you select a Snowflake database.

<figure><img src="/files/15iu8EzVDjvPSxf0WXU3" alt="" width="375"><figcaption><p>DirectQuery mode</p></figcaption></figure>

3. Select the required table in the Navigator to preview the data and click **Load.** No transformation is required for this data as it is already prepared.

<figure><img src="/files/4TAjZEH5ZOv2qtkWo6cK" alt="" width="563"><figcaption><p>Load data</p></figcaption></figure>

4. You might get a warning pop-up depending on the connection you choose. Since you will be connecting to your trusted source, you can proceed by clicking **OK** to load the data.

You can now view the 'EmployeeDemo' table in the Data pane. Note that the connection is through DirectQuery.

<figure><img src="/files/TCXnlXFjGDDywCUaPIxO" alt=""><figcaption><p>Data loaded in the Data pane</p></figcaption></figure>

Now that we have connected to the database, the next step is to assign the fields in the Visualizations pane.


# Assign fields

The next step after connecting to data is to assign the required columns to the data fields, as shown below:

<figure><img src="/files/75j0GICrdmJX2tgnL1uQ" alt=""><figcaption><p>Assign data fields</p></figcaption></figure>

You can see the EDITable table getting populated as and when you start assigning the fields one by one.

{% hint style="info" %}
Assign unique fields in the **Primary Keys** field.
{% endhint %}

## Sign In

If you are not already signed in to the visual, click **Sign in.** This is an important step that connects your visual to your EDITable workspace. You also need to sign in to configure the source, columns and other details for your data.&#x20;

<figure><img src="/files/7QawhDLcFtTlA9juOfGa" alt=""><figcaption><p>Sign in</p></figcaption></figure>

Log in with your Microsoft Office 365 account. After confirming the pop-up by clicking **OK**, verify the code to log in.

<figure><img src="/files/U8tmucdELXockN66hohu" alt=""><figcaption><p>Log in with O365 account</p></figcaption></figure>

After signing in, you will see three steps as shown in the image below. Clicking on the links beside each step will take you through the configuration process. Configuring your source and columns is essential before starting to work on your data through EDITable.

<figure><img src="/files/0UkFpJR5Lb6Ib5kenAuH" alt=""><figcaption><p>Configuration steps </p></figcaption></figure>

Let us now look at the configuration steps.


# Configuration Steps

After connecting to a database, you will be presented with configuration steps before you can begin working with your data. The configuration involves three steps:

1. [Configure source](/getting-data-into-editable/connect-to-data/configuration-steps/configure-source)
2. [Configure columns](/getting-data-into-editable/connect-to-data/configuration-steps/configure-columns)
3. [Configure SCDs (optional)](/getting-data-into-editable/connect-to-data/configuration-steps/configure-type-2-scds-optional)

We'll look at them one by one in the upcoming sections.

{% hint style="info" %}
If you have not connected to an existing database but have [created a table using EDITable](/getting-data-into-editable/create-a-table), the configuration steps are as follows:

1. Configure Source: When you select and add a data source to create a table, you are configuring the source.&#x20;
2. Configure Columns: Once your data is loaded into EDITable, you can manage the column properties using the [Manage Columns](/working-with-editable/manage-columns) menu.
3. Configure SCDs: Adding Slowly Changing Dimensions (SCDs) is optional and can be set up for specific tables that require and support them.
   {% endhint %}


# Configure source

You need to configure the database connection for live writebacks and sync.&#x20;

1. Start by clicking **Configure source** and then **Ok** in the confirmation pop-up to go to the workspace.

<figure><img src="/files/TcugFuf1cvcHtSnrf3El" alt=""><figcaption><p>Configure source</p></figcaption></figure>

Note that the source is mentioned as 'NA' in the status bar since it is yet to be configured.

2. Choose the data source from which the data was fetched using DirectQuery (this is because the source and destination tables are the same). Click Continue.

<figure><img src="/files/DSZV7N2C8r10SUdhljpk" alt=""><figcaption><p>Choose the source</p></figcaption></figure>

3. Enter the source details and save it by clicking **Save Source**.

<figure><img src="/files/nexVvE1J2QfmfqaSjuFq" alt=""><figcaption><p>Enter source details and Save</p></figcaption></figure>

4. You'll see a success message after the source table is configured.&#x20;

<figure><img src="/files/p5B4fjYRwViy8kccf2HP" alt=""><figcaption><p>Source is configured</p></figcaption></figure>

Now you can proceed with column configuration.


# Configure Columns

The next step is to configure the columns by setting their general properties, constraints, and other settings.

1. To configure the columns, click on the link as shown below:

<figure><img src="/files/WXvsJTeWZvTzHqs6tLil" alt=""><figcaption><p>Click to configure the columns</p></figcaption></figure>

2. Configure the first column - EmployeeID as shown in the image below. We have set the input type for EmployeeID column as text, enabled editing, and set it as a mandatory input (since we want it to be the primary key). Other details can be optionally configured if required.&#x20;

<figure><img src="/files/LCOJO1zOhOzl9w24NIj9" alt=""><figcaption><p>Configure column - EmployeeID</p></figcaption></figure>

3. Configure the remaining columns (FirstName, LastName, etc.) one by one, wherever applicable. The columns that are not configured are indicated using a red warning symbol, as seen in the above image. You can choose to modify the existing settings or retain the same.
4. Click **Save** to save the configured settings for all columns.

Note: For simplicity, we have configured only the ***General*** settings in the image above. In the [following sections](/working-with-editable/manage-columns), we will look at some more advanced settings such as lookup & relation, constraints and display.

Editable supports the following column input types:

* Number
* Decimal
* Text
* Single-select dropdown
* Checkbox
* Date-Time
* Date
* Image
* Person
* URL

{% hint style="info" %}
By default, the 'Checkbox' column type accepts Boolean values (true/false). To change it, go to the **Constraints** section - Default Value field in the '[Manage Columns](/working-with-editable/manage-columns)' window.

In the same way, you can set constraints for each column input type under **Constraints** section.
{% endhint %}

The next step is configuring SCDs which is optional.


# Configure Type 2 SCDs (Optional)

In the final step, you can configure the visual to support Type 2 Slowly Changing Dimensions.

\
Type 2 Slowly Changing Dimension (SCD) is a data warehousing method to track changes in data over time by preserving the change history.&#x20;

#### Understanding Type 2 SCDs

-> When a value in a dimension (such as customer information) changes, a new record is created instead of overwriting the old data.

-> Each new record includes the updated information along with the start and end dates indicating the validity period of the updated information.&#x20;

-> There can be an additional flag column that indicates the record is currently active. This column can be of the checkbox type, or a simple true/false or 0/1 column.

-> There can also be additional timestamp columns to signify when a new record was created or made active apart from the initial start date.

This approach allows us to analyse the historical data and understand how the information has evolved over time.

For more details on SCDs and their types, click[ **here**](https://en.wikipedia.org/wiki/Slowly_changing_dimension)**.**

We will now look at the overview:

1. To configure SCDs, click on the link as shown in the image below:

<figure><img src="/files/Kzo6r6xlLk3Muto9biNU" alt=""><figcaption><p>Review optional settings - Configure SCDs</p></figcaption></figure>

2. Enable support for SCDs and configure them.

<figure><img src="/files/GAXRpjhCRvlX7rTHW7tJ" alt=""><figcaption><p>Configure SCDs</p></figcaption></figure>

{% hint style="info" %}
**We have a detailed section that explains how to configure type 2 SCDs in EDITable and you can access it** [**here**](/type-2-scds/configuring-type-2-scds-in-editable)**.**
{% endhint %}

3. If you do not wish to enable support for Type 2 SCDs, simply click **Save** without enabling the toggle button as below.

<figure><img src="/files/ly9h6i9nMcmS45C7YzUA" alt=""><figcaption><p>Save without enabling SCDs</p></figcaption></figure>

{% hint style="warning" %}

1. The action of configuring SCDs is permanent and cannot be undone once enabled and saved.

2. If you have missed configuring SCDs and wish to set it on a later date or you need to edit the existing configuration, you will need to reset all the visual settings by clicking on **Reset** in the **Settings** window. Note that this resets all the settings, including the source and column configurations.
   {% endhint %}

3. After configuring all the required settings, you can close the 'Settings' tab by clicking **Close Settings** or by directly navigating to the **Home** tab. EDITable displays the connected source table as below:

<figure><img src="/files/HmsZeRAQq030NWSjxJjJ" alt=""><figcaption><p>Source</p></figcaption></figure>

After configuring the source data, you are good to go with managing and updating your data with EDITable. You can jump to [this section](/working-with-editable) to know more.

EDITable also supports creating a table from scratch or importing it from spreadsheets. These steps are explained in the next section.


# Create a Table

A table can be created from scratch or imported from existing spreadsheet data; EDITable supports both of these options.

**Step 1:**

To create a new table, click on the highlighted link as shown below:

<figure><img src="/files/hdGqGhEhEJtM2xQAr876" alt=""><figcaption><p>Click 'Create Table'</p></figcaption></figure>

**Step 2:**

You'll be prompted to log in in the next step. Log in with your Office 365 credentials.

<figure><img src="/files/DERbgrcl37rljHrtKOkV" alt=""><figcaption><p>Sign in with O365</p></figcaption></figure>

**Step 3:**

You'll be navigated to the EDITable console after you click **OK** in the confirmation pop-up.&#x20;

{% hint style="info" %}
The EDITable console is a user-friendly, intuitive interface to manage your users, database connections, transaction logs, onboarding actions, etc. To know more, click [here.](/admin-portal-and-editable-console)
{% endhint %}

**Step 4:**

In the console, you can choose from the three options to create a table:

1. [Create From Scratch](/getting-data-into-editable/create-a-table/create-from-scratch)
2. [Use Existing Table](/getting-data-into-editable/create-a-table/use-existing-table)
3. [Import Data](/getting-data-into-editable/create-a-table/import-data)

<figure><img src="/files/kBmvj4GY3xgOBjGdRs50" alt=""><figcaption><p>Create Table - options</p></figcaption></figure>

Based on your requirement, you can select the option.

<figure><img src="/files/xDBjFCMhWX4lcQADXH3s" alt="" width="563"><figcaption></figcaption></figure>

We will discuss each of these methods in the upcoming sections.&#x20;


# Create From Scratch

This section explains the steps to create a table from scratch.

1. Select the option as shown below and then click **Continue.**

<figure><img src="/files/yXJmlgn7aNVbk9s2SvgY" alt=""><figcaption><p>Create From Scratch</p></figcaption></figure>

2. The 'Create Table' pop-window opens where you can specify the required details.

<figure><img src="/files/N0ljOOFAUFsDZoMz67od" alt=""><figcaption><p>Create Table</p></figcaption></figure>

3. **Select Connection:** Choose from the list of admin or user connections, or [EDITable managed DB](/admin-portal-and-editable-console/admin-portal/settings/writeback-settings/editable-managed-db). The supported database connections are mentioned [here](/introduction-to-editable/supported-database-connections).

<figure><img src="/files/ED6YI2wzWPrQt12QV3MP" alt=""><figcaption><p>Select connection</p></figcaption></figure>

4. If you do not want to choose any of the existing connections and would like to add a new connection, click on **Add Connection.** To learn more on adding a connection, refer to [this page](/admin-portal-and-editable-console/admin-portal/settings/writeback-settings/add-and-manage-connections).

<figure><img src="/files/bBZaMTMrWb84PFxse6rM" alt=""><figcaption><p>Add connection</p></figcaption></figure>

5. **Table Name:** Enter a name for your table.

<figure><img src="/files/h7Z3zQlOKMqTN0tXwLVm" alt=""><figcaption><p>Table name</p></figcaption></figure>

6. **Column Details:** Start creating your table by adding the column name, primary key, and other relevant details like length, precision, etc. wherever applicable.

<figure><img src="/files/dH97iqqPXz1niFcTtWcr" alt=""><figcaption><p>Add Column details</p></figcaption></figure>

7. **Add Column:** Click on '+ Add Column' at the top of the 'Column Details' table to add a new field/column.&#x20;

<figure><img src="/files/ceLZBYxjnMb2DEU5kayg" alt=""><figcaption><p>Add Column</p></figcaption></figure>

8. **Advanced Properties:** Check this option to add advanced properties to the column such as Display Name, Thousands Separator, Prefix and Suffix.

<figure><img src="/files/vhPrDIhMPPV7h3OrYzJY" alt=""><figcaption><p>Advanced Properties</p></figcaption></figure>

9. Click the **bin icon** as shown below if you want to delete that column.

<figure><img src="/files/vN0d8Dm4IikvehZwZnmc" alt=""><figcaption><p>Delete a column</p></figcaption></figure>

10. You can click on **Preview** if you wish to view the SQL query generated which will be used to create a new table in the chosen destination.

<figure><img src="/files/3f7SpyCtZnkNeSbKsbVs" alt=""><figcaption><p>Preview Query</p></figcaption></figure>

11. Click **Apply** after entering all the column details.

<figure><img src="/files/nRbeDj8X6BHtv4SnSale" alt=""><figcaption><p>Click 'Apply'</p></figcaption></figure>

You can now download a pre-configured Power BI report (.pbix file) with a live connection to the table.&#x20;

{% hint style="info" %}
After downloading the .pbix file, you might get a few pop-up messages:

* Click 'Apply changes' to apply any pending changes to the queries.
* Close the 'Pause visuals' suggestion tip that appears below. **Do not pause the visuals** so the live changes get synced to the database.
* Save the .pbix report at regular intervals after making any changes to avoid loss of data.
  {% endhint %}

After creating a table, you can proceed to the next step: [managing columns](/working-with-editable/manage-columns), to configure them, and then you can start working on your data.

If you already have an existing database, you can directly connect to it and start working on it. This is explained in the next section.


# Use Existing Table

This section explains the steps to connect to an existing database from the console.

1. From the console, you can connect to the database by clicking on the **Use Existing Data** option as shown below:

<figure><img src="/files/Tg5rciPb6gbbPCrFpUxm" alt=""><figcaption><p>Use Existing Data</p></figcaption></figure>

2. The 'Create Table' pop-window opens where you can specify the required details.

<figure><img src="/files/P0VMyyFAXFptONWd99ap" alt=""><figcaption><p>Create table pop-up</p></figcaption></figure>

3. **Select Connection:** Select the database connection that contains the data.

<figure><img src="/files/DcRIAhrvDedF5To3BFip" alt=""><figcaption><p>Select connection</p></figcaption></figure>

4. **Select Table:** Select the required table from the dropdown list.

<figure><img src="/files/LRhswnwJoZAA2uD6oPi1" alt=""><figcaption><p>Select table</p></figcaption></figure>

5. **Column Details:** Verify the column details and edit them wherever required.

<figure><img src="/files/oIZiLMQ0sDHg6PWsCBhi" alt=""><figcaption><p>Edit column details</p></figcaption></figure>

6. Check the **Advanced Properties** option to view the advanced properties such as Display Name, Thousands Separator, Prefix, and Suffix.

<figure><img src="/files/HTgJY2hkeDtTz4gQtYjV" alt=""><figcaption><p>Advanced Properties</p></figcaption></figure>

7. Click **Apply** and then click on **Download Report** to download a pre-configured Power BI report (.pbix file) with a live connection to the table.

<figure><img src="/files/Nd6gt0wJyLbRIN5NYY7p" alt=""><figcaption><p>Download Report</p></figcaption></figure>

8. Click to open it. You can notice the pre-populated visual along with the assigned fields in the Visualizations pane. The system will prompt you to sign in. Click on **Sign in with Office 365** to sign in to the workspace.

<figure><img src="/files/vag8vAtQFBNQBAcPyixD" alt=""><figcaption><p>PBIX file with a live connection to the database</p></figcaption></figure>

{% hint style="info" %}
Close the 'Pause visuals' suggestion tip. **Do not pause the visuals** so the live changes get synced to the database.
{% endhint %}

You can now start managing your data from Power BI. Any changes made to the table in EDITable, after saving (or after approval, if enabled), get applied to the database it is connected to.

The next step is to [manage columns](/working-with-editable/manage-columns) to configure them, and then you can start working on your data.

The next section covers how to import your data from spreadsheet files into a database.


# Import Data

You can import data from existing spreadsheets to databases by following the steps below.

1. Select **Import Data** and click **Continue.**

<figure><img src="/files/x4tx4vRghF5MF9GoHsdl" alt=""><figcaption><p>Import Data</p></figcaption></figure>

2. In the file explorer window, select the Excel or CSV file that contains the data, and choose **Open.**

<figure><img src="/files/I4EuPt3GVRKQeeGSaIS0" alt=""><figcaption><p>Select the file</p></figcaption></figure>

3. The selected file is uploaded. Choose the required sheet from the Excel file.

<figure><img src="/files/blrnEd5ZTCBkl9n1yggt" alt=""><figcaption><p>Select the sheet</p></figcaption></figure>

4. You can verify the column headers, total number of rows, data, and other details in the preview.

<figure><img src="/files/gHI3qqkBbmODfjkhmEOE" alt=""><figcaption><p>Preview Data</p></figcaption></figure>

{% hint style="info" %}
If you wish to import only the table structure with column headers without any rows, you can enable the option, 'Exclude records and import table structure only'.
{% endhint %}

5. We want to import the entire table, including all records, so we left the check box unchecked. Click on **Proceed.**

<figure><img src="/files/KUOcSvxPEpDjQ9pnw52l" alt=""><figcaption><p>Click <strong>Proceed</strong></p></figcaption></figure>

6. **Select Connection:** Choose from the list of admin or user connections, or [EDITable managed DB](/admin-portal-and-editable-console/admin-portal/settings/writeback-settings/editable-managed-db). The supported database connections are mentioned [here](/introduction-to-editable/supported-database-connections).

<figure><img src="/files/GVMgGExDZT3kpKoLwdzj" alt=""><figcaption><p>Select connection</p></figcaption></figure>

7. If you do not want to choose any of the existing connections and would like to add a new connection, click on **Add Connection.** You can enter the data source credentials to add the connection. You can also [add new connections from the console page.](/admin-portal-and-editable-console/admin-portal/settings/writeback-settings/add-and-manage-connections)&#x20;

<figure><img src="/files/qfoip5mjS1NKJcfgj5ZA" alt=""><figcaption><p>Add Connection</p></figcaption></figure>

8. **Table Name:** Enter a name for your table.

<figure><img src="/files/CILTgCSGwN4nSRcOUVoy" alt=""><figcaption><p>Table Name</p></figcaption></figure>

9. **Column Details:** Verify the column name, primary key, and other relevant details like length, precision, etc. You can edit the details wherever applicable.

<figure><img src="/files/x5wJji9smNNgbXnjMDOR" alt=""><figcaption><p>Verify/Edit the table</p></figcaption></figure>

10. **Add Column:** To add new columns, click on **Add Column.** You can then enter the required column details.&#x20;

<figure><img src="/files/eR3rGXCOTYugtU1WSpLU" alt=""><figcaption><p>Add Column</p></figcaption></figure>

11. Check the **Advanced Properties** option to view the advanced properties such as Display Name, Thousands Separator, Prefix, and Suffix.

<figure><img src="/files/RQzRPLFjrPV5MTTLYS3l" alt=""><figcaption><p>Advanced Properties</p></figcaption></figure>

12. Click the **bin icon** to delete a column.

<figure><img src="/files/cA8qx4MBHh0MdTVMUCKf" alt=""><figcaption><p>Delete column</p></figcaption></figure>

13. You can click on **Preview Data** to view the SQL query that will create the table in the selected database connection.

<figure><img src="/files/gZvowtwvNf7aFYr8MdZR" alt=""><figcaption><p>Preview Query</p></figcaption></figure>

14. Click on **Apply** to create the table in the database.

<figure><img src="/files/gJJjyQQVZ6rjOwcZcIbk" alt=""><figcaption><p>Click 'Apply'</p></figcaption></figure>

15. The table is now created at the chosen destination. Click **Download Report** to download a pre-configured Power BI report (.pbix file) with a live connection to the table.

<figure><img src="/files/bqvjS4WhTjWAoGof2Iwx" alt=""><figcaption><p>Download Report</p></figcaption></figure>

16. Click open the downloaded file. You can notice the pre-populated visual along with the assigned fields in the Visualizations pane. The system will prompt you to sign in. Click on **Sign in with Office 365** to sign in to the workspace.

<figure><img src="/files/EMveaAn3gVdfQ69j2S53" alt=""><figcaption><p>Sign in to the workspace</p></figcaption></figure>

You can now start managing your data from Power BI. Any changes made to the table in EDITable, after saving (or after approval, if enabled), get applied to the database it is connected to.

{% hint style="info" %}
After downloading the .pbix file, you might get the pop-up messages as shown in the image below:

1. Click 'Apply changes' to apply any pending changes to the queries.
2. Close the 'Pause visuals' suggestion tip that appears below. **Do not pause the visuals** so the live changes get synced to the database.
3. Save the .pbix report at regular intervals after making any changes to avoid loss of data.
   {% endhint %}

<figure><img src="/files/vWybnGJzCahhaktSrFib" alt=""><figcaption><p>Downloaded .pbix file with a live connection to the database</p></figcaption></figure>

After creating a table, you can proceed to the next step: [managing columns](/working-with-editable/manage-columns) to configure them, and then you can start working on your data.

You can refer to the other sections of this guide for assistance.


# Working with EDITable

Now that we have learned to create and connect to a database, we can explore the options available in EDITable to effectively manage them. We have designed this guide to function as a quick reference for specific features, as well as a comprehensive, self-paced tutorial that covers everything from initial setup to advanced settings.

The guide is organized as follows:

[**EDITable interface**](/working-with-editable/editable-interface)**:** This section walks you through the EDITable user interface, explaining the options available in the toolbar and status bar.

[**Manage Columns**](/working-with-editable/manage-columns)**:** This section covers configuring the columns with their required properties and settings as required.

[**Column Access Control**](/working-with-editable/column-access-control)**:** EDITable enables you to set access controls to columns, determining which users can edit each column. This section explains the steps in detail.

[Row Identification](/working-with-editable/row-identification): For certain logs, you can set a row ID separate from the primary key. We explain this process here.

[**Table Operations**](/working-with-editable/table-operations-insert-update-delete)**:** This section covers all the editing options available in EDITable, such as inserting, updating and deleting rows, importing data from a file, replacing text using the find-and-replace option, bulk editing, grouping rows, and so on.

[**Explore data**](/working-with-editable/explore-data)**:** This section explains the different ways to explore and find the required data in EDITable using the sort, search and filter options.

[**Basic formatting**](/working-with-editable/basic-formatting)**:** This section details the basic formatting options available in the EDITable toolbar.

[**Conditional Formatting**](/working-with-editable/conditional-formatting)**:** This section explains how to apply rule-based formatting to the table in detail.

Let's now demonstrate each of the above in the upcoming sections.


# EDITable interface

Let us now explore the EDITable interface. It has the following sections:

<figure><img src="/files/8v0JDaTTHJBMcSODCdm6" alt=""><figcaption><p>EDITable interface</p></figcaption></figure>

### **Toolbar**

The toolbar has various action items that enable you to insert rows, import data, filter and search for specific data, group rows, find and replace data, format text and display style, view audit logs, use conditional formatting, configure columns, and much more.

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

### **Table**

This section displays your source table as well as the results of any editing, sorting, filtering, formatting, commenting, and other actions you perform on it.

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

### **Status Bar**

The status bar displays table information, settings, and controls.&#x20;

On the left, the total number of rows and the source details are displayed.

* Total rows: This displays the total number of rows in the source table
* Source: A symbol indicating the data platform in which the source is available, along with the database and table names.

On the right, you can view page display settings and zoom/unzoom controls:

* **Settings:** It allows you to change the number of rows displayed per page by selecting 'All', 'Auto', or a specific range from 10 to 75 rows.

<figure><img src="/files/37bjehMMsMH1pWbg8gjA" alt=""><figcaption><p>Rows per page</p></figcaption></figure>

* **Zoom-in and zoom-out controls:** Users can click on the '+' and '-' icons to zoom in and out respectively. Alternatively,  Ctrl + and Ctrl - shortcut keys can also be used.
* **Pagination controls:** Use these controls to go to the first page, previous, next, and last page, and also navigate to a specific page by entering the page number.

<figure><img src="/files/7SBWZX1EN1QObD60iBNs" alt=""><figcaption><p>Zoom and pagination controls</p></figcaption></figure>

The status bar also displays the number of changes made in the visual and whether or not approvals are enabled in the visual, as below:

<figure><img src="/files/uKpqigNEntu4s6YF0Aih" alt=""><figcaption><p>Status bar with changes</p></figcaption></figure>

* **EDITable logo:** By clicking on this, you can see the version number and license information. It also includes links to our official website and product documentation.

<figure><img src="/files/w1IQR0GUhnBN9D7j25qu" alt=""><figcaption><p>License information and important product links</p></figcaption></figure>


# Manage Columns

After creating the table or importing it, you can configure its column properties in the **Manage Columns** section. These properties include input type, whether the column is editable or not, default value, minimum and maximum values (constraints), lookup and relation, prefix, and suffix.

By connecting to a database, you would have completed [this step](/getting-data-into-editable/connect-to-data/configuration-steps/configure-columns) during onboarding. If you wish to change the properties, you can access this window **any time** by clicking on **Settings -> Manage Columns.**

<figure><img src="/files/uiiTiBg0YvlsuF4cUTSv" alt=""><figcaption><p>Manage Columns</p></figcaption></figure>

The field properties are classified as follows:

1. General
2. Constraints
3. Lookup and Relation
4. Display

We will explain each of the above in the upcoming sections.

Note: The **Configure Columns** option can be used to show/hide the above sections.

<figure><img src="/files/ZZJXPCj19acBBoOVAW70" alt=""><figcaption><p>Configure columns</p></figcaption></figure>

{% hint style="info" %}

* **Import and Export:** Importing and exporting the configurations are explained in [this section](/working-with-editable/manage-columns/import-export-configuration).
* Inserting formula/multi-select columns and adding database columns are explained in the upcoming sections.
  {% endhint %}


# General

In this category, you can define the following properties:

## **1. Input type**

Specify the input data type to be allowed in each column using this dropdown. EDITable allows the following data types as inputs:

* Number
* Decimal
* Text
* Single-select
* Check-box
* Date Time
* Date
* Image
* Person
* URL
* Email

<figure><img src="/files/bvkST03oYPb15BhnV2RK" alt=""><figcaption><p>Input type</p></figcaption></figure>

Further, you can configure additional properties based on the selected input type.&#x20;

Example: For number type input, you can set the minimum and maximum allowed values. For single-select type, you can either manually configure the dropdown values or fetch them from a lookup table. These properties are explained in the upcoming sections.

## 2. Allow Edits

Check this box to enable users to edit the column values. Uncheck it to restrict users from modifying the column values.

In the example below, we have made all columns editable.

Primary keys and surrogate keys (in case of configuring Type 2 SCDs) are usually disabled from editing by the users.

<figure><img src="/files/OmW9SaSD16iNQl5OVcQe" alt=""><figcaption><p>Allow Edits</p></figcaption></figure>

## 3. Required

This box indicates whether the user must enter the values in the column or if they can be left empty. Checking this box will make the column mandatory. You can select which columns you want to be required.

Typically, primary keys and business keys are considered required columns.

<figure><img src="/files/CPidfA0bWqMnVAhkSyYR" alt=""><figcaption><p>Required</p></figcaption></figure>

We have discussed the general configurations. In the next section, we will explain about setting constraints.


# Constraints

This section provides options for limiting input values, setting default values, and configuring field validation.

## **1. Minimum and Maximum**

Here you can specify the minimum and maximum values that can be entered into the columns. Any values outside of this range are not permitted. These limits can be applied to the input types: *Number, Decimal, Date Time,* and *Date*.

Consider the example below, where the minimum and maximum values are set for the 'Salary' column.

<figure><img src="/files/K4fna8zd9MoU4XFuxHrE" alt=""><figcaption><p>Minimum and Maximum</p></figcaption></figure>

The existing values remain unchanged. However if a user enters a salary that falls outside the specified range, they will be notified of the minimum and maximum limits.

<figure><img src="/files/bs2OipFnuB1twArvwCJO" alt=""><figcaption><p>user notified about the min and max values </p></figcaption></figure>

Note: You can also set any one of these limits (either minimum or maximum).

For *Date* and *DateTime* input types, users may choose a date range or both date and time range. Any date and time outside of this range will not be accepted.

<figure><img src="/files/6XIP7l4F5lOvezGP0DL6" alt=""><figcaption><p>Minimum and maximum date range</p></figcaption></figure>

## **2. Field Validation**

This option is available for the Text input type, where you can specify whether to allow only numeric, alphanumeric, non-numeric, Email ID, or URL inputs. You can also specify a regex pattern to allow inputs that match a specific pattern. Inputs that do not match the pattern are flagged and rejected.

This ensures data correctness and accuracy.

<figure><img src="/files/h0DxnbHKjQSyEkGwHU71" alt=""><figcaption><p>Field Validation</p></figcaption></figure>

The field value is validated against your specified input type configuration. If another type is entered, it is not accepted.

<figure><img src="/files/MNbvX7fiwn2Tew8zOaE8" alt=""><figcaption><p>Example</p></figcaption></figure>

When you choose the 'Regex' option, a new field appears with the link 'Click to configure'.&#x20;

<figure><img src="/files/xA65N8Y2Pxrk3MSXcbK4" alt=""><figcaption><p>Regex option</p></figcaption></figure>

After clicking the link, a pop-up appears where you can enter the regex pattern to be validated against. Click **Apply** and **Save.** In the example below, we have entered the regex text to validate the email ID or URL entered by the users.&#x20;

<figure><img src="/files/4YfgQkgctSuBdHNCWGdQ" alt=""><figcaption><p>Regex validation for Email ID column</p></figcaption></figure>

When a user enters an incorrect email address or URL, the below prompt appears, and the input is rejected.

<figure><img src="/files/JOpCKcfiah8QaV6r2E0i" alt=""><figcaption><p>Wrong text input</p></figcaption></figure>

## 3. Default Value

EDITable lets you configure default values for the columns. When a new row is added, the specified column is automatically filled with the default value if you have set one.

To set a default value, click the highlighted option below, beside the required column.

<figure><img src="/files/VSKIj2g4rF9vafWQjYMa" alt=""><figcaption><p>Click to configure default date</p></figcaption></figure>

### 3.1. Static value

To set a static value, select **Manual** and enter the value. In the example below, a static value is set as the default date for the 'Start Date' column.&#x20;

<figure><img src="/files/Zzd6klALnSLrao0sE9ew" alt=""><figcaption><p>Setting static default value</p></figcaption></figure>

Whenever a new row is added, this column value is automatically populated by default.

<figure><img src="/files/EljCCnCXPhtRXlbcgToH" alt=""><figcaption><p>Default value is filled automatically</p></figcaption></figure>

#### Reset to default on update

Checking the 'Reset to default on update' option sets the default value for newly inserted rows and disables the column from editing. The existing values are retained, and automatically changed to default only when users edit other values in the specific record. Find below an example where the value changes to the default.

<figure><img src="/files/jePaCqmrXJ1Y83H7lbq4" alt=""><figcaption><p>Reset to default on update</p></figcaption></figure>

For the 'Decimal' input type, you can also specify the default number of decimal digits to be allowed.

<figure><img src="/files/xDsdEjbhLAg4NUvsA2R3" alt=""><figcaption><p>Decimal input type</p></figcaption></figure>

For the 'Person' input type, you can either use their name or email address as default.

<figure><img src="/files/zyLqqzjUdlK7sNVT9D5E" alt=""><figcaption><p>Person input type</p></figcaption></figure>

For the 'Single-select' type, you can choose the default value from the list of options you have configured.

<figure><img src="/files/HH5K1gR1s4aqmzZivw9g" alt=""><figcaption><p>Single-select input type</p></figcaption></figure>

For the 'Check Box' type, the default values are automatically configured with the Boolean values: true and false. You can change these to 1/0 or yes/no, etc., if necessary.

<figure><img src="/files/4JGxzN3Uh9FU5lK0qhSD" alt=""><figcaption><p>Checkbox type</p></figcaption></figure>

### 3.2. Derived value

You can set derived values as defaults instead of using static values. These derived values are calculated using configurable formulas.&#x20;

EDITable provides many Excel-like formulas and functions to help you perform these calculations. These values change dynamically as the underlying reference data changes.

Derived values can be set for the field types - **Number, Decimal, Text, Date, DateTime, Person, and Email.**

<figure><img src="/files/ryFbHMUTlKsHxY0Vzxmh" alt=""><figcaption><p>Configure derived value</p></figcaption></figure>

#### Recalculate data on update

Checking the 'Recalculate data on update' option sets the calculated value as default for newly inserted rows and disables the column from editing. The existing values are retained and automatically changed to the derived value only when users edit other values in the specific record.&#x20;

<figure><img src="/files/IFImgf0Q9ItAjHoOOBas" alt=""><figcaption><p>Recalculate data on update</p></figcaption></figure>

We have discussed setting constraints and defaults for table data. In the next section, we will explore how to select and look up values from a table or visual for a single-select field type.


# Lookup and Relation

EDITable allows you to configure any field in the table using the single-select input type. The lookup and relation field is specifically designed for setting up single-select type columns.\
\
In addition to manually configuring the dropdown options, EDITable offers an effective method for sourcing values from dimensions, even if they reside in a different table or data source, through the use of lookup tables.&#x20;

You can also use the helper/lookup visuals to source values from a dimension. In summary, we have the following methods to configure the options:

1. [Manual:](#id-1.-manual) Enter the dropdown values manually.
2. [Distinct Values:](#id-2.-distinct-values) Set up the existing options as a dropdown list with distinct values.
3. [Lookup Table:](#id-3.-lookup-table) Source values from another table in a database, which is usually done for foreign key fields.
4. [Lookup Visual:](#id-4.-lookup-visual) Use lookup/helper visuals to source your values.<br>

This section will provide a detailed procedure for configuring dropdown values for each method.

## 1. Manual

This method allows you to type in the dropdown options and labels manually.&#x20;

<figure><img src="/files/EFcWur5ZXvOxi8T4h0e6" alt=""><figcaption><p>Manual entry of values</p></figcaption></figure>

Let us take an example where the Department ID field is set manually.

1. Choose **Single Select** in the Input Type field for the Department ID. As soon as you choose, the 'Lookup & Relation' section gets enabled.&#x20;
2. Click on the link to configure.

<figure><img src="/files/qFA84S2P9Uz0NI63yJSX" alt=""><figcaption><p>Single select Input type</p></figcaption></figure>

3. Click on the **Manual** option.
4. Enter the options and labels as required.

<figure><img src="/files/adzv0Dlk5ucgtwDRYDEp" alt=""><figcaption><p>Enter the options</p></figcaption></figure>

5. Click on **Add** to add further new options.
6. Click on the bin icon beside an option, in case you want to delete it.
7. Click **Apply** and then **Save** the configuration.

<figure><img src="/files/yZ17KwH0CWdcGiA0lN5H" alt=""><figcaption><p>Apply and Save</p></figcaption></figure>

8. You can now edit the table with the added dropdown options in the required field.

<figure><img src="/files/OOJRmPJgls8rCCegaI4V" alt=""><figcaption><p>Selecting an option</p></figcaption></figure>

## 2. Distinct Values

If you choose this option, EDITable creates a distinct list of options from the existing values. In the table below, the ***Incentive*** field already contains the following values: ***Bonus*** and ***Commission***. These two values are available throughout the field.

<figure><img src="/files/N1qN4gg6WaQJgCFIhTTI" alt=""><figcaption><p>Existing values in the table</p></figcaption></figure>

When you choose Distinct, these values become the options for the dropdown.

<figure><img src="/files/peDCDRShYLCQJej08RCA" alt=""><figcaption><p>Distinct dropdown values</p></figcaption></figure>

## 3. Lookup Table

EDITable lets you look up and source values from other tables.&#x20;

1. When you click Lookup, the below pop-up opens where you can enter the name of the schema, table, label, and the options from where the dropdown options should be sourced.&#x20;

<figure><img src="/files/jicuFtpbH3fEesL2wO63" alt=""><figcaption><p>Schema and table details</p></figcaption></figure>

2. Click **Apply** after entering all the details as shown below and then **Save** the configuration. EDITable fetches the values from the configured field in the table.

<figure><img src="/files/MfbiWkrAFiiALJlVgpwQ" alt="" width="563"><figcaption><p>Lookup Table configuration</p></figcaption></figure>

3. Now you can enter the configured dropdown values in the table.

<figure><img src="/files/3tIeSOcLaYmSR26QatLf" alt=""><figcaption><p>Selecting an option</p></figcaption></figure>

## 4. Lookup Visual

Using the helper lookup visual is a more effective way to source values from other tables. It simplifies the process compared to the previous lookup method and ensures access to the most current data. It involves the following steps.

Step 1: Importing the helper/lookup visual into Power BI

Step 2: Configuring the dimension into the visual

Step 3: Configuring the lookup table within EDITable with the helper visual details.

#### Step 1: Importing the helper/lookup visual

The Inforiver Lookup visual works in tandem with EDITable (and Inforiver Matrix visuals). It can be downloaded for free from our [customer portal](https://inforiver.com/login/) and then imported into Power BI.&#x20;

{% hint style="info" %}
If you want to know the steps to import, you can refer to this [link](https://docs.inforiver.com/introduction-to-inforiver/get-started/installing-inforiver-for-yourself).
{% endhint %}

<figure><img src="/files/p8nRAEwMn23WAbnmaYsp" alt=""><figcaption><p>Downloading the lookup visual from customer portal</p></figcaption></figure>

#### Step 2: Configuring the dimension into the visual

Configuring the visual is as simple as dragging the dimension you want to cross-reference into the Dimension field. Depending on the number of tables you want to source in your report, you can add multiple lookup visuals.&#x20;

<figure><img src="/files/PWtCbWtsghgLkwLSiO6N" alt=""><figcaption><p>Configuring the helper visual</p></figcaption></figure>

#### Step 3: Configuring the lookup table within EDITable with the helper visual details

Enter the visual and the column name from which the options should be fetched. Click **Apply** and **Save.**

<figure><img src="/files/SYX9dS5eIfX8mZZ7jm0I" alt=""><figcaption><p>Lookup table configuration</p></figcaption></figure>

You can now use the values in the table.

<figure><img src="/files/rcOatzpBSns5FjJLWC5T" alt=""><figcaption><p>Selecting an option</p></figcaption></figure>

{% hint style="info" %}
To learn more about helper/lookup visuals, you can refer to this [blog](https://inforiver.com/blog/feature-highlights/simplified-data-cross-referencing-inforiver-lookup-visuals-power-bi/).
{% endhint %}

In the next section, we will look at the display settings.


# Display

The Display section allows you to specify how the column values should be displayed based on your needs. You can add or configure various display properties for column values and headers, such as format, display name, thousand separator, prefix, suffix, and the option to hide specific columns.

<figure><img src="/files/MSXBse3kLX3JJAzLnw7c" alt=""><figcaption><p>Display properties</p></figcaption></figure>

## 1. Format

Using the Format property, you can define how the date and date-time values should be presented in the columns. You can choose from various date and date-time formats such as 'MM/DD/YYYY', 'DD/MM/YYYY', 'DD MMM, YYYY hh:mm:ss', and so on.

## **2. Display Name**

The Display Name property enables you to display a user-friendly name for the column header, different from the actual field name in the database. For instance, the 'cust\_id' field in the database can be displayed as 'Customer ID' in the visual for enhanced clarity.

## **3. Description**

You can use the 'Description' field to include additional information to the column headers, helping users understand the data better. An 'i' icon is added beside the header name and when you hover over it, the additional description is shown.

## **4. Thousand Separator**&#x20;

By default, numbers in the column are displayed continuously without any thousand separators. To enhance the readability of large numeric values, you can add a comma, a period, or a space as a separator for every group of thousands.

## **5. Prefix**

This property allows you to add a prefix of up to two characters before numeric or decimal column values. This is commonly used to indicate currency symbols.

## **6. Suffix**

This property lets you add a suffix of up to two characters after numeric or decimal column values. This can be used to indicate measurement units or percentages.

## **7. Hide Column**&#x20;

The 'Hide Column' property allows you to hide a column from view. Check this box to hide a specific column. This is useful when certain data is not required to be displayed but should be kept in the table.&#x20;

We have now discussed all the column properties that can be configured from the 'Manage Columns' window. In the next section, we will look at the 'Security' tab in the same window, where we can set the access control for columns.


# Import/Export Configuration

While you can configure the columns manually, if you want to replicate an existing configuration in a similar table, the Import and Export options let you complete the process in just a few seconds.

This is accomplished by exporting the existing configurations to a text file (using 'Export') and then reusing it later for a similar table (using 'Import').

{% hint style="info" %}
Generally, when you connect to a source database and configure an editable visual, the configuration settings remain intact. So, if you create a new visual that connects to the same database, the configurations persist without the need for an export.

Import and export options are helpful when you have to reset a visual to its initial configuration or replicate the same setup in a table with similar fields.&#x20;
{% endhint %}

## Export

1. To export, click on **Export**.

{% hint style="info" %}
Please ensure that you export saved configurations. If not, click **Save** to save the existing configuration and then export.&#x20;
{% endhint %}

<figure><img src="/files/OcFGHd4xFyQ20K7z7foC" alt=""><figcaption><p>Export</p></figcaption></figure>

In the above example, notice the configuration details of the highlighted fields.

2. &#x20;In the confirmation pop-up, click Download to download the file to your local system.&#x20;

<figure><img src="/files/nlliJaARb9sO9qqnxlP0" alt=""><figcaption><p>Download </p></figcaption></figure>

3. Click **Save** to save the config file. This will export the column properties in a .txt format.&#x20;

<figure><img src="/files/Dl5J5yZwGs6vlunt968b" alt=""><figcaption><p>Save export config</p></figcaption></figure>

## Import

To restore a visual to its original setup, including any added columns and configurations, use the **Import** option to bring in the saved config file. Here’s how to do it:

1. After loading your table into EDITable, click **Import** to import the previously downloaded text file.&#x20;

<figure><img src="/files/1m0gXtOwhIyVsdIXk8LX" alt=""><figcaption><p>Import</p></figcaption></figure>

2. Select **Click to Upload.** In the file explorer, select the text file you downloaded earlier.

<figure><img src="/files/jEZz6LdQiPL9blSFpIal" alt=""><figcaption><p>Click to upload </p></figcaption></figure>

3. Click **Upload.**

<figure><img src="/files/dQNDNB1W50WC8MCLQVSy" alt=""><figcaption><p>Upload</p></figcaption></figure>

4. If conflicting properties exist, a pop-up will appear asking for confirmation to overwrite the existing column configuration. You'll also be prompted about additional columns such as formula or multi-select columns (if present) to confirm if you want to add them. You can check the required columns to select them and apply the configurations.

<figure><img src="/files/li5mQYjm5gCs5fTOW5ag" alt=""><figcaption><p>Select columns and Import</p></figcaption></figure>

5. Click **Import** to proceed.
6. The columns will be configured and saved automatically with the imported configurations.

<figure><img src="/files/pSo77AL8h0n1zKYspVry" alt=""><figcaption><p>Imported configuration</p></figcaption></figure>


# Add Database Column

EDITable lets you add new columns to the source database directly from the visual.

1. To add a new column, click on **Manage Columns > Add Database Column.**

<figure><img src="/files/wmpnZBymtftCT62IUOXV" alt=""><figcaption><p>Add Database Column</p></figcaption></figure>

2. In the pop-up window, you can enter the column name and its data type. You can optionally make it a non-nullable column and assign a default value. Then click **Create.**

In the example below, we have added an email ID column with the name 'EmployeeEmailID' and data type VARCHAR.

<figure><img src="/files/TK0rIuBDMAw6Z8HIUAnC" alt=""><figcaption><p>Adding a column to the database</p></figcaption></figure>

After clicking on **Create,** you can see the below toast message.&#x20;

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

3. Refresh the Power BI source.

<figure><img src="/files/zaFGb2k92plXHvIF8XWc" alt=""><figcaption><p>Refresh source</p></figcaption></figure>

4. The column is now available in the Data pane.

<figure><img src="/files/g5r51gWxQCosyOhHfgnQ" alt=""><figcaption><p>Added column in the Data pane</p></figcaption></figure>

5. Assign it to the 'Columns' field to add it to the EDITable visual.

<figure><img src="/files/XXDNIb4L6KBXxoGRb1UW" alt=""><figcaption><p>Assign the column</p></figcaption></figure>

6. To configure the newly added column, click the highlighted link on the visual.

<figure><img src="/files/LJYJSoQ64TpxQiOiHJc3" alt=""><figcaption><p>Click to configure</p></figcaption></figure>

7. Configure the column properties as you would for any other columns, and then click **Save**.

<figure><img src="/files/bsvlcOhJ2V9UfMDLb0dG" alt=""><figcaption><p>Configuring the added column</p></figcaption></figure>

8. After saving the configuration, go to the 'Home' tab to view the new column added to the source database.

<figure><img src="/files/7FpyB14lychmLlfLluQ0" alt=""><figcaption><p>Added column</p></figcaption></figure>

{% hint style="info" %}
Please note that you cannot delete a column directly from the visual—this must be done from the database. Alternatively, you can simply remove the field from the 'Columns' field well.
{% endhint %}


# Insert Column

You can insert formula-type and multi-select columns to your table. Please refer to [this section](/working-with-editable/table-operations-insert-update-delete/insert-column) to know more.


# Column Access Control

After configuring the columns, you can set access control for each column in the **Security** tab. By setting this, you can specify who can write values to each column.

By default, all users who have access to the report can view all the columns, and all EDITable workspace users can edit them.

<figure><img src="/files/VtvX5efLvXdLCthIRrfQ" alt=""><figcaption><p>Default column access setting</p></figcaption></figure>

1. Click on the **Security** tab in the **Manage Columns** section.
2. To set access control list for a column, click on the pencil icon in the cell beside that column name in the **Write Access** field. Enter the name or email ID of the users to whom you wish to provide the access.

In the example below, we are setting access control for the Employee ID column by specifying the users' name.

<figure><img src="/files/QiO8nFcOGm9oCc1806m7" alt=""><figcaption><p>Edit the access</p></figcaption></figure>

3. You can enter as many users as you want. You can also type in the email ID of your organization group or active directory list.

<figure><img src="/files/PFGLDrPAM0S7EWQnmugl" alt=""><figcaption><p>Example</p></figcaption></figure>

4. Click **Save** to save the settings.

<figure><img src="/files/lbmI165CdjpSSaZJFxQM" alt=""><figcaption><p>Save the settings</p></figcaption></figure>

5. Use the highlighted icons as shown below to edit or reset the configured users.

<figure><img src="/files/kda7rhJ8oU4JUIDdXv9u" alt=""><figcaption><p>Edit or reset</p></figcaption></figure>

EDITable also offers row access control which is explained in [this section.](/row-access-control)


# Row Identification

This section describes how to configure row identifiers, which are used to uniquely identify rows in a table instead of a primary key. These row IDs will appear in audit logs, comment logs, and error console logs.

1. Go to **Settings -> Row Identification.**

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

2. In the dropdown menu, select the column name (a text field), which will serve as the identifier.
3. Click **Save.**

The selected identifier will be used in:

* **Audit Logs**
* **Error Console**
* **Comment Logs**

This makes accessing specific rows easier than using only the primary key.


# Table Operations (Insert/Update/Delete)

In this section, we will discuss all the table-editing capabilities offered by EDITable, such as inserting, updating, deleting, copying, and duplicating rows. This section covers the following topics:

* Edit a single cell, a single row, or bulk-edit multiple rows.
* Find and replace data
* Insert a single row or multiple rows.
* Insert multi-select and formula columns
* Import data from files
* Copy, duplicate and delete rows

In the upcoming sections, we will explain each of them in detail.


# Edit data

With EDITable, you can edit the contents of your source table. All changes you make are synced with the source in real time.

To overwrite any existing data, simply double-click on the cell and enter the new data. The value is updated, and the 'Changes' icon in the status bar displays the number of changes you made.

<figure><img src="/files/xtkktTO5NVIKOy7ItXxU" alt=""><figcaption><p>Overwriting data</p></figcaption></figure>

In the toolbar, click **Save** to save the changes to the source, or **Discard** to undo the changes and return to the original value.

<figure><img src="/files/6e6a4WBqVsIBkjDZJ2Up" alt=""><figcaption><p>Save changes to source/Discard changes</p></figcaption></figure>


# Bulk Edit

Many applications only allow for single edits, such as inserting, updating, or deleting one row at a time. However, EDITable offers the 'bulk edit' feature that enables you to edit and delete values across multiple cells simultaneously.&#x20;

With bulk editing, you can consistently update a common attribute across all entities, ensuring data integrity.&#x20;

1. To edit multiple cells, select the required cells.&#x20;

<figure><img src="/files/hDuINh16LyhT027H24E2" alt=""><figcaption><p>Select the cells</p></figcaption></figure>

To remove the selection or to select all the rows in the table, click on the selector at the header.

<figure><img src="/files/4rmufJ2vlX2ymegtq7w4" alt=""><figcaption><p>To select all cells</p></figcaption></figure>

2. After selecting the rows, click on **Bulk Editor** to open it.

<figure><img src="/files/3lhmX8YOPCLaKgVHAyEp" alt=""><figcaption><p>Click 'Bulk Editor'</p></figcaption></figure>

3. The Bulk Editor pop-up opens where you can specify the new value for the required field. Let us assume you want to edit the 'TargetBonus' value to 0.5 for the selected three rows. You can enter the value *0.5* in the *TargetBonus* field.

<figure><img src="/files/Be7ygKHZ8uT2SAz04Mid" alt=""><figcaption><p>Bulk editing a field</p></figcaption></figure>

4. You can also update other fields as required and then click **Apply.**

<figure><img src="/files/ffH3tOaI8L32ub71GmPF" alt=""><figcaption><p>Apply changes</p></figcaption></figure>

5. The values are updated as shown below. Click on **Save** and then **Proceed** to save the changes and sync to the source database.

<figure><img src="/files/MBofc7Z1egRRKIaP7r2r" alt=""><figcaption><p>Save changes</p></figcaption></figure>

6. The source table is now updated as shown below.

<figure><img src="/files/TXblfx1Z1iQidA07Mij4" alt=""><figcaption><p>Changes updated</p></figcaption></figure>

In this way, you can edit multiple cells/rows simultaneously using bulk editing.


# Find and Replace

EDITable also has the 'Find and Replace' option to find a specific text or value and its occurrences in the table and then replace it with another text or value in one or more instances. Search for the exact text/value you are looking for using the search options like 'Match Case' and 'Match entire cell contents'.

1. Click **Replace** in the toolbar.

<div data-full-width="false"><figure><img src="/files/vnF2ACqgHsfislEmc8OO" alt=""><figcaption><p>Find and Replace</p></figcaption></figure></div>

2. Enter the text/value to be searched in the 'Find' text box and the text/value that will replace it in the 'Replace' text box.

<div align="center"><figure><img src="/files/1ezFQqzelq1Rhnh0p0QI" alt=""><figcaption><p>Enter the text to be searched</p></figcaption></figure></div>

3. In the 'Column' dropdown, select 'All' to search in all columns, or select the column from which the text must be searched.
4. Click **Find Next** to locate the first occurrence and subsequent occurrences one by one.

<figure><img src="/files/oq6wiDeFo2Bn39wHzXtl" alt=""><figcaption><p>Find Next</p></figcaption></figure>

5. Click **Find All** to locate all occurrences of the text/value at once.

<figure><img src="/files/niFMI3PldFgWDjV0jMoI" alt=""><figcaption><p>Find All</p></figcaption></figure>

6. Similarly, click "**Replace"** to replace the selected occurrence and "**Replace All"** to replace all occurrences.

<figure><img src="/files/AN3219HFtNpnL7Y4Hj96" alt=""><figcaption><p>Replace</p></figcaption></figure>

<figure><img src="/files/EYueGvIGzMSecWF657eS" alt=""><figcaption><p>Replace All</p></figcaption></figure>

#### **Search Options:**

**Match Case:** Check this box to find and locate only if the case of the entered text matches the data.

**Match entire cell contents:** Check this box to highlight the occurrence only if the entire cell content in the table matches the entered text.


# Insert rows

Using the **Insert Row** option, you can insert new, blank rows to the table manually.

{% hint style="info" %}
Use the [**Import**](/working-with-editable/table-operations-insert-update-delete/import-rows) option to insert or update rows with an external file.
{% endhint %}

1. Click **Insert Row** to insert a single row.

<figure><img src="/files/4sqRdznLOF7JdJsqMUku" alt=""><figcaption><p>Insert new row</p></figcaption></figure>

2. Use the dropdown menu next to the **Insert Row** option to choose whether you want to insert a single row or multiple rows at once.

<figure><img src="/files/zhNQT2R1XicSOhBCLos5" alt=""><figcaption><p>Insert single or multiple rows</p></figcaption></figure>

3. Clicking on **Insert Row** inserts a single row.

<figure><img src="/files/BuXBP2zp1elsp0y0EaDC" alt=""><figcaption><p>Insert a single row</p></figcaption></figure>

4. Click on **Insert Multiple Rows t**o insert multiple records. Enter the number of rows you wish to insert and click **Insert** to add them all at once.

<figure><img src="/files/L89p6lRxQjPF49GcGGB1" alt=""><figcaption><p>Insert multiple rows</p></figcaption></figure>

Ten blank rows are inserted as shown below:

<figure><img src="/files/Hh2b88OF3qtcEVjG6YP2" alt=""><figcaption><p>New rows are inserted</p></figcaption></figure>

{% hint style="info" %}
A maximum of 1000 rows can be inserted at a time.
{% endhint %}

{% hint style="info" %}
You can establish access control to define who can add new rows to the table. To know more, please refer to [this section](https://docs.editable.io/working-with-editable/table-operations-insert-update-delete/pages/qyBTToXOkqBpuKyKty1u#id-1.-add).
{% endhint %}


# Insert Column

Insert new multi-select and formula columns to the table using the **Insert Column** option.

1. Click **Manage Columns.**
2. Select **Insert Column.**

<figure><img src="/files/gl7FjNHHnhl9Tkjr5P6F" alt=""><figcaption><p>Insert Column</p></figcaption></figure>

## 1. Formula column

1. Choose **Formula** to insert a formula column.

<figure><img src="/files/n35AdgBdSdgYrXef1iwK" alt=""><figcaption><p>Select Formula </p></figcaption></figure>

2. Click the pencil icon to rename the column.

<figure><img src="/files/CxXCRUaZlGaDmS98iExC" alt=""><figcaption><p>Rename column</p></figcaption></figure>

3. To configure the formula, click on **Click to configure** in the 'Default Value' column.

<figure><img src="/files/nManso0DZRrXvnTFkwjM" alt=""><figcaption><p>Click to configure</p></figcaption></figure>

4. Enter the required formula and click **Apply**. To know more about formulas and functions, you can refer to [this section.](/formula-and-functions)

<figure><img src="/files/HIZcZ3FLJEt0WYAd3WeO" alt=""><figcaption><p>Enter formula</p></figcaption></figure>

5. Click **Save** to save the configuration and insert the formula column.

<figure><img src="/files/6zP0Reo1krkxZLiZH4TN" alt=""><figcaption><p>Save the configuration</p></figcaption></figure>

6. The formula column is inserted as shown below.

<figure><img src="/files/CD0DAUhn2HFXMCO6rhS3" alt=""><figcaption><p>Inserted formula column</p></figcaption></figure>

## 2. Multi-select column

Multi-select columns let users select and input multiple values in a field.

1. To insert a multi-select column, click **Multi-select.**&#x20;

<figure><img src="/files/gTJobOjHTiIWZsiZYoTu" alt=""><figcaption><p>Choose Multi-select</p></figcaption></figure>

2. A new multi-select column is added as shown below.

<figure><img src="/files/QFvTFTDb5pEOhqnGVv7k" alt=""><figcaption><p>New column</p></figcaption></figure>

3. Use the pencil icon to rename the column.

<figure><img src="/files/jKvUukDwIk14j0FjzN6U" alt=""><figcaption><p>Renaming the column</p></figcaption></figure>

4. Now, click the highlighted link to configure the column.

<figure><img src="/files/85F1FRjZZwy8f93yQIzg" alt=""><figcaption><p>Click to configure</p></figcaption></figure>

5. You'll see the pop-up below where you can configure the details of the lookup table to lookup options for multi-select and the relation table to insert lookup values.

<figure><img src="/files/XkXqTkG6YRZbUQ6Zk9xm" alt=""><figcaption><p>Lookup table configuration</p></figcaption></figure>


# Import rows

It can be a tedious process to manually insert or update several rows. In such cases, you can import the data directly from an external file.&#x20;

EDITable allows you to insert and update multiple rows at once by importing CSV or Excel files. The rows are updated based on matching primary keys from the file.

1. To import new rows, click **Import** on the toolbar that opens the 'Import from file' pop-up.

<figure><img src="/files/wqfNLWLflrn7gGjppU50" alt=""><figcaption><p>Import rows</p></figcaption></figure>

2. There are three options to choose from: **'Insert'** to just insert new rows; '**Update'** to update existing rows; and **'Insert and Update'** when you need to insert new ones and modify the existing ones.

**a) Insert:** Select the 'Insert' option to only insert the new rows from the uploaded file.

<figure><img src="/files/vFcnKAfbRMSSCYbHuswY" alt=""><figcaption><p>Insert rows</p></figcaption></figure>

**b) Update:** Select the 'Update' option to update only the changes.

<figure><img src="/files/ZVV7KfApk0ZMc1P73CQQ" alt=""><figcaption><p>Update rows</p></figcaption></figure>

**c)** **Insert and Update:** Use this option to insert new rows while also updating any changes to the existing records.

<figure><img src="/files/ZVXLTCYQdRRlPBEsHNVj" alt=""><figcaption><p>Insert and Update rows</p></figcaption></figure>

3. After choosing from one of the options above based on your requirement, select **Click to Upload** to upload an Excel or a CSV file.

<figure><img src="/files/1ZFXX3ldFX9Nor26vLf8" alt=""><figcaption><p>Click to upload</p></figcaption></figure>

4. Select the required file from the systems folder.

<figure><img src="/files/MRwi1MQq5eGBW9yV3Bgu" alt=""><figcaption><p>Select to upload</p></figcaption></figure>

5. Click on **Upload.**

<figure><img src="/files/LjCPev1WjMtt7avhcTHU" alt=""><figcaption><p>Click 'Upload'</p></figcaption></figure>

6. We have used an example that includes both inserting and updating rows. In the preview, you can see that the changes are denoted in blue, while new rows are indicated in green. Click **Import.**

<figure><img src="/files/YQV1j8YR93sUnNkTqXU9" alt=""><figcaption><p>Preview of the imported file</p></figcaption></figure>

7. You can see the success toast message. In case of any errors, you can view the log by clicking on **View log.**

<figure><img src="/files/zuUlDLGsAQee6OHkHokt" alt=""><figcaption><p>Rows updated and imported</p></figcaption></figure>

The table has been updated with changes and new rows.

<figure><img src="/files/SxiKqGbzuBMGc3UQaHNo" alt=""><figcaption><p>Updated table</p></figcaption></figure>

{% hint style="info" %}

1. Ensure the XLSX/CSV file that you import contains the necessary primary key fields and other mandatory fields configured in the 'Manage Columns' section.
2. The maximum number of new rows that can be inserted at once is 20000.
   {% endhint %}


# Delete rows

You can select one or more rows in the table and click on **Delete** to delete them.

<figure><img src="/files/fTomlnK48XamuYNRgy0w" alt=""><figcaption><p>Delete</p></figcaption></figure>

After clicking on **Proceed** in the confirmation pop-up, the selected rows are deleted as shown below:

<figure><img src="/files/FnPXApyvzkPHsPbUSq7Z" alt=""><figcaption><p>Deleted rows</p></figcaption></figure>

If you have set up an approval workflow, the deletion process will go through this workflow before the actual deletion occurs. You can also choose to perform a soft delete or permanently delete the data, as explained in [this section](https://docs.editable.io/working-with-editable/table-operations-insert-update-delete/pages/qyBTToXOkqBpuKyKty1u#id-3.-delete).

{% hint style="info" %}
You can establish access control to define who can delete rows in the table. For configuration instructions, please refer to [this section](https://docs.editable.io/working-with-editable/table-operations-insert-update-delete/pages/qyBTToXOkqBpuKyKty1u#id-3.-delete).
{% endhint %}


# Duplicate rows

If you have to create similar records, you can duplicate rows and edit a few attributes.&#x20;

1. Select one or more rows and click **Duplicate** to duplicate the rows.

<figure><img src="/files/G2mhS8Q1ajkg2LAnqbdc" alt=""><figcaption><p>Duplicate rows</p></figcaption></figure>

2. The example below shows a duplicate row. If you have set unique primary keys, you'll be prompted to edit it, as it will also be copied.

<figure><img src="/files/vQxgYX5vN9N5kO0rsCdN" alt=""><figcaption><p>Created a duplicate</p></figcaption></figure>


# Copy rows

EDITable allows you to copy records to the clipboard for pasting into external applications like Excel or Word.

1. Select one or more rows you want to copy and click **Copy.**

<figure><img src="/files/YwjQukcMEmfzRWhgkY3Q" alt=""><figcaption><p>Copy rows to clipboard</p></figcaption></figure>

2. The image below shows the data being copied to an Excel file.

<figure><img src="/files/nOXwhG9T72sikUiAUZ9q" alt=""><figcaption><p>Paste</p></figcaption></figure>


# Preview Changes

1. The **Changes** section in the status bar displays the count of all changes made to the table.

<figure><img src="/files/fovAOLa91Qjw6KYRDq1H" alt=""><figcaption><p>Changes </p></figcaption></figure>

2. Upon **clicking**, it displays the list of changes, along with the type of changes. You can click on **Save** to save the changes.&#x20;

<figure><img src="/files/Tb9GkVRBHMjUfVpPHI9R" alt=""><figcaption><p>Preview and save changes</p></figcaption></figure>

3. You can also view this window by clicking the **Preview and Save** option after editing the table and making the necessary changes.

<figure><img src="/files/UET1tUk1COfl2ZFBbnJJ" alt=""><figcaption><p>Preview and Save option</p></figcaption></figure>

4. The image below shows the preview of a table with Type 2 SCDs configured. These changes are automatically saved.

<figure><img src="/files/p1iAwjPhtInv2Xl0Z2gE" alt=""><figcaption><p>Preview of changes done</p></figcaption></figure>

5. The preview screen also allows you to reset the changes you have made. Click on the row that you want to reset and choose **Reset.**

<figure><img src="/files/mTqQ0SH8sqzTUcPWO8UK" alt=""><figcaption><p>Reset change</p></figcaption></figure>


# Reset Changes

After editing the table or performing insert/update/delete operations, you can revert any changes by clicking the **Reset** button.&#x20;

1. To undo your most recent change, you can use the Undo button or the keyboard shortcut Ctrl + Z.

<figure><img src="/files/Yo4onbvIwp9k2qqVfUbn" alt=""><figcaption><p>Undo</p></figcaption></figure>

2. If you have made bulk edits to the table, inserted new rows, or duplicated existing ones, you can click the **Reset** button to discard all changes before clicking **Save** if you decide not to proceed with those edits.

<figure><img src="/files/799kiMYhjCWyuxEZm79K" alt=""><figcaption><p>Reset previous operations</p></figcaption></figure>


# Explore data

This section covers the following options for exploring the data:

**Search and filter:** When dealing with a large volume of data, the search and filter options can help you find specific records/details. This section demonstrates how to find and filter the necessary data.

**Sort and re-order:** Standard sorting orders, such as ascending and descending, can be applied to both numerical and non-numerical columns to arrange the records in a systematic manner and analyze them. Columns can also be reordered. This section covers both.

**Show/Hide columns:** This section describes how to display or hide columns in a table, particularly one with too many columns.

**Pin columns:** This section explains how to pin and freeze columns in a table.


# Search and filter

We will now explore the various options in EDITable for searching and filtering data. These options allow you to analyze data in chunks, especially when dealing with a large volume of data.

## 1. Search

The Search option allows you to quickly locate specific records in your table by entering characters, words, numbers, or phrases. EDITable displays all records containing the entered character, number, or text.

1. In the 'Home' tab of the toolbar, click on the 'Search' icon.

<figure><img src="/files/jxiSNALLeZEqBFG40Ixq" alt=""><figcaption><p>'Search' option</p></figcaption></figure>

2. Type the character/text in the search box. EDITable starts narrowing down the matches as soon as you start typing. Navigate through the results using the up and down arrows.

<figure><img src="/files/yTqjYw2dBg5xzO94rfkS" alt=""><figcaption><p>Search record using text</p></figcaption></figure>

3. You can also search for numeric values as shown in the below image.

<figure><img src="/files/DVzErw33BlZeNpwl7pKB" alt=""><figcaption><p>Search for numeric values</p></figcaption></figure>

{% hint style="info" %}
EDITable searches across pages if the table spans over multiple pages.
{% endhint %}

## 2. Filter

EDITable provides nested AND/OR filtering options to filter a range of data based on the criteria you define.

### 2.1. Nested and grouped filters <a href="#i-nested-and-grouped-filters" id="i-nested-and-grouped-filters"></a>

#### Nested filters

1. In the 'Home' tab of the toolbar, click on the 'Filter' icon.

<figure><img src="/files/XIyc56K7kOOhrqhwqCV8" alt=""><figcaption><p>'Filter' option </p></figcaption></figure>

2. Click **Add Filter**. Based on the column selected, different conditions are provided. You can select a condition as shown below.

<figure><img src="/files/RZeVLLbowl5oqblOCyIj" alt=""><figcaption><p>Add filter</p></figcaption></figure>

3. In the example below, the data has been filtered based on the job title.

<figure><img src="/files/RnAH8hIc5OTa667OaAiD" alt=""><figcaption><p>Filter results</p></figcaption></figure>

4. You can add multiple filters using the **Add Filter** option and apply nested AND/OR conditions. In the example below, we have added one more condition to filter only those with salaries greater than 180000 for the given job title. Both conditions have been combined using the AND operator.

<figure><img src="/files/DW3XoouUifHmKaDDvKL1" alt=""><figcaption><p>Nested filter</p></figcaption></figure>

#### Grouped filters

1. You can also organize multiple filters into filter groups. Click **Advanced.**

<figure><img src="/files/hMMmhkDTLZFIVRbZKpHv" alt=""><figcaption><p>Advanced filter</p></figcaption></figure>

2. Click **Add group** to add another group. In the below example, we have added four conditions nested using AND/OR and using two filter groups. The filtered table is also shown.

<figure><img src="/files/EWAxebUFW8OGUxzsMtEf" alt=""><figcaption><p>Group filters</p></figcaption></figure>

3. You can delete the individual filters by clicking on the 'Delete' icon available next to the condition.
4. The **Persist filters** option ensures the filters are retained when switching between pages in the visual.
5. Click on **Reset All** to reset all the filters.

<figure><img src="/files/UQDTXDjSVB3HEXvxbksz" alt=""><figcaption><p>Delete, Reset, Persist filters</p></figcaption></figure>

### 2.2. Column-level filter

EDITable provides both basic and advanced column-based filtering options to filter specific data or a range of data based on the criteria you define.

1. When you mouse over any column, a three-dot menu appears as highlighted. Click on it and then select the 'Filter' icon.

<figure><img src="/files/UqJ2HNJJgI0jWgMddR5t" alt=""><figcaption><p>Column filter</p></figcaption></figure>

2. You can do basic filtering by selecting the required data from the drop-down list.

<figure><img src="/files/5oN66kWEh6geKhOOoyjE" alt=""><figcaption><p>Basic column filter.</p></figcaption></figure>

3. You can also apply advanced filtering based on specific criteria. Click on the 'Advanced filter' icon to specify the condition. The displayed conditions vary based on the column selected. In the example below, we filtered the employees whose salaries exceeded 100k.

<figure><img src="/files/UPTsMZFihdgM8zhOrfvj" alt=""><figcaption><p>Advanced filter</p></figcaption></figure>

4. You can add nested AND/OR filters by clicking the **Add rule** option. In the below example, we have added one more condition - 'less than 200k'. All employees whose salaries range between 100k and 200k are displayed.

<figure><img src="/files/4sIMockRPOtnjADYMuCn" alt=""><figcaption><p>Nested column filter</p></figcaption></figure>

{% hint style="info" %}
Click **Clear filter** beside the required filter to clear it or click **Clear All** to clear all the column filters applied.
{% endhint %}


# Sort and reorder

EDITable provides standard sorting options to sort the records: ascending/descending as well as A -> Z / Z -> A for numeric and non-numeric columns such as date, numbers, dropdown, text, and more.&#x20;

## 1. Sort records <a href="#id-1.-sorting" id="id-1.-sorting"></a>

1. Hover over the column header you want to sort, then click on the three-dot menu.

<figure><img src="/files/s29j7B7A5X3NTVPt9P7R" alt=""><figcaption><p>Sorting by values</p></figcaption></figure>

2. Select **Sort.** Then, choose **Sort Desc** or **Sort Asc** to sort the records in descending or ascending order respectively. Let's now sort the 'Salary' column in descending order.

<figure><img src="/files/n9NcJ9qVyDWdxdKvdmra" alt=""><figcaption><p>Sorting by descending order</p></figcaption></figure>

3. A downward arrow in the image below indicates that the 'Salary' column is sorted in the descending order.

<figure><img src="/files/SpUrun5xewFhpzNrHATf" alt=""><figcaption><p>Column sorted in descending order</p></figcaption></figure>

4. To remove the sort, click on **Remove Sort** as shown. Alternatively, you can click on the sort icon in the column header to remove the sort.

<figure><img src="/files/42GGp1lBIFwuG6OJ7BJu" alt=""><figcaption><p>Removing sort</p></figcaption></figure>

5. Similarly, sorting can also be applied to non-numeric columns. The image below shows the 'Last Name' column sorted in ascending order.

<figure><img src="/files/3FjqWCGKuajw2hzWbkDD" alt=""><figcaption><p>Sorting non-numeric columns</p></figcaption></figure>

## 2. Reorder columns

You can reorder columns by dragging and dropping the headers to arrange them the way you want.

<figure><img src="/files/Xe6xUoOvdRZEB3zEOQ0z" alt=""><figcaption><p>Re-order columns</p></figcaption></figure>


# Show/Hide columns

EDITable gives you the option to hide one or more columns from the table.

1. Hover over the column you want to hide, click on the three-dot menu and then select **Hide Column** to hide the column.

<figure><img src="/files/XmXrCHGqX5N2wHbOhZpI" alt=""><figcaption><p>Hide Column</p></figcaption></figure>

The 'Incentive' column is hidden as shown:

<figure><img src="/files/0P8P8n3VQLVotncobtOb" alt=""><figcaption><p>Column hidden </p></figcaption></figure>

2. To display the hidden column(s), click **Show All Columns** in the same menu from any header.

<figure><img src="/files/a1E1l1z6aoRsV4iV92Wd" alt=""><figcaption><p>Show all columns</p></figcaption></figure>


# Pin columns

When there are too many columns in the table and you want to freeze a few important ones, you can pin them. When you pin a column, it moves to the first position. Use this option to freeze the key columns to the left so that you can focus on them.

1. Hover over the column header you want to pin, then click the three-dot menu and select **Pin Column** to pin it to the left. We will pin the 'Employee ID' column here.

<figure><img src="/files/msIFkeCVb0XCLQH1Z7Qd" alt=""><figcaption><p>Pin column</p></figcaption></figure>

2. To unpin the column, choose **Unpin Column** from the same menu on the header.

<figure><img src="/files/eb6rELc8TrvCrzZY2veR" alt=""><figcaption><p>Unpin column</p></figcaption></figure>

3. You can pin multiple columns as shown below.

<figure><img src="/files/0UoLV74YgtX9FzN6XiUC" alt=""><figcaption><p>Pin multiple columns</p></figcaption></figure>

4. To unpin all of them, select **Unpin All** and the columns will return to their original positions.

<figure><img src="/files/XJBkcR7o7xMJQGttXP1l" alt=""><figcaption><p>Unpin all columns</p></figcaption></figure>


# Group Rows By

The 'Group Rows' feature in EDITable lets you group the rows based on a selected column. Rows with the same attributes are grouped.

1. Click **Group** from the toolbar.

<figure><img src="/files/ftCgJktZOBKI6vgPewNS" alt=""><figcaption><p>Group</p></figcaption></figure>

2. Select the column to group by. In the example below, we are grouping rows based on the department ID.

<figure><img src="/files/rhpgoscAacmY4YJa7AR8" alt=""><figcaption><p>Group By</p></figcaption></figure>

3. Within a group, you can create sub-groups. Click on **Add Subgroup** to create a subgroup.

<figure><img src="/files/kj2RxGs1gToVNKqnmVVO" alt=""><figcaption><p>Add Subgroup</p></figcaption></figure>

4. Select another column to group them. We will select 'TargetBonus'.

<figure><img src="/files/WFIptHnS8mc5rVpPFkBZ" alt=""><figcaption><p>Grouping by another column within a group</p></figcaption></figure>

The results are as below:

<figure><img src="/files/K37ScaHjJBl5ROedkTbp" alt=""><figcaption><p>Groups and sub-groups</p></figcaption></figure>

5. Use the arrows to expand or collapse the groups and sub-groups.&#x20;

<figure><img src="/files/OcK0Jm7rnTWIQmOAuUl0" alt=""><figcaption><p>Expand/Collapse</p></figcaption></figure>

6. Use the three-dot menu to expand all/collapse all or insert a row.

<figure><img src="/files/FrE9SKodmsR5iotnj7ZS" alt=""><figcaption><p>Menu options to expand/collapse/insert</p></figcaption></figure>

7. You can edit the table, and perform usual actions like formatting, bulk-editing, inserting rows, using find and replace, etc. on grouped rows too.

<figure><img src="/files/KMlJt1CCKxhrzyG67rbu" alt=""><figcaption><p>bulk-editing after grouping</p></figcaption></figure>

8. You can use the bin icon to ungroup a particular group. To return to the table, ungroup all of them by clicking delete on all groups.

<figure><img src="/files/AcWSiCgUTXDuWP7aU4Um" alt=""><figcaption><p>Ungroup/delete group</p></figcaption></figure>


# Summarize Column

The Summary option provides a concise overview of column values, allowing you to quickly access essential information and make informed decisions.

Let us assume you're working with a large dataset and need to review any column to identify aspects such as the number of missing entries, unique entries, or to perform a simple categorization analysis. You might want to determine the earliest and latest dates in your data, or you may need to calculate the range, average, median, or standard deviation of the column data.

The Summary option enables you to efficiently perform all these tasks and gather useful insights. Here are some details you can obtain:

* Number of empty entries/percentage of empty entries
* Number of filled-in entries/percentage of filled-in entries
* Number of unique entries/percentage of unique entries
* Earliest and the most recent date in a date column
* Date range in days or months
* Minimum value, maximum value and range
* Sum
* Average
* Median
* Standard deviation

<figure><img src="/files/PeMw9OtAr5ksM9gB9sbX" alt=""><figcaption><p>Summary</p></figcaption></figure>

In the example below, we have applied the 'Summary' option to a few columns.

<figure><img src="/files/KgoJBmhcinjx0dt43LN9" alt=""><figcaption><p>Column Summary</p></figcaption></figure>


# Basic formatting

The tool bar contains a host of formatting options, as shown below:

<figure><img src="/files/0tASwRzZrDOc6FyWDIQC" alt=""><figcaption><p>Formatting</p></figcaption></figure>

**Row Height:** Set the desired row height for the table.

Word Wrap: This option wraps long text to multiple lines for improved readability.

**Alignments:** Use this option to adjust the alignment of both headers and content within the table, ensuring everything is properly aligned for better readability.

**Auto Fit:** Adjust column widths with options such as "Fit to Header," "Fit to Content," or manually setting the column width to your preference.

**Reset:** Reset all the formatting changes to the default.

**Undo/Redo:** Use these options to quickly undo or redo recent changes to data or formatting, allowing for easy corrections.

By selecting a row, you'll get the following cell and text formatting options:

<figure><img src="/files/M0MuEhH5iaqtYFgCXMGh" alt=""><figcaption><p>Text and cell formatting</p></figcaption></figure>

You can also select multiple rows and format them all at once.


# Conditional Formatting

Conditional formatting is essential for directing users' attention to specific performance areas. It allows you to highlight or emphasize certain records using font styles, borders, icons, text and background colors making it easier to identify important data points.

The data in the table is formatted according to the user-configured rules. This section outlines how to configure and apply condition-based formatting to a table. You can create your own detailed conditional formatting rules from the ground up.

## Create Rule

1. **Create Rule:** To create a rule, click **Format Rules -> Create Rule** (Alt+Y). A side panel opens as shown below:

<figure><img src="/files/VxDZC6oH7wR98azcuqjQ" alt=""><figcaption><p>Create a rule</p></figcaption></figure>

2. **Title:** Enter a title for the rule in the **Title** field.
3. **Apply to:** Select the column to be formatted in the 'Apply to' field. If you choose 'Rows', all columns will be formatted for the records that meet the condition.

<figure><img src="/files/oWySV4PPXMbaMTOaFkXs" alt=""><figcaption><p>Apply to all columns/specific column</p></figcaption></figure>

4. **Style:** Using the **Style** section, you can format text based on color, style, borders, background color, or specific icons.

<figure><img src="/files/6GMLY6A5newzkjs2zXqV" alt=""><figcaption><p>Style</p></figcaption></figure>

5. **Conditions:** In the 'Conditions' section, you can define the conditions using the dropdown options. Based on the type of column (text/numeric) selected, appropriate comparative functions and operators are displayed.

<figure><img src="/files/BkbyVk9EtSGK0d9GEyYh" alt=""><figcaption><p>Condition</p></figcaption></figure>

6. **Add Condition:** You can add multiple conditions by clicking on **Add Condition.** You can then combine them using AND or OR operators.

<figure><img src="/files/VBhs7nLmtHU8Ky4fO1n3" alt=""><figcaption><p>Adding multiple conditions</p></figcaption></figure>

7. **Apply:** Click **Apply** to implement the rule or click the Back button to cancel.

<figure><img src="/files/aPJHrzsyt34WyCUPRD72" alt=""><figcaption><p>Apply Rule</p></figcaption></figure>

The results are shown below:

<figure><img src="/files/MLD9DjiwDp93xLmjKfRT" alt=""><figcaption><p>After conditional formatting</p></figcaption></figure>

## Manage Rules

When you have several conditional formatting rules in your report, you can easily view, modify or delete them using the 'Manage rules' option.

1. Click on **Format Rules -> Manage Rules.** A side panel opens and displays all the configured rules.

<figure><img src="/files/H0dwxaoajvkbHdPPO7hh" alt=""><figcaption><p>Manage Rules</p></figcaption></figure>

2. To add more rules, you can click on the **Add new rule** option from this side panel.

<figure><img src="/files/e9WsI81nt3oq6sUEW8pL" alt=""><figcaption><p>Add new rule</p></figcaption></figure>

3. Click on the highlighted icons below to edit, duplicate, delete, or disable a specific rule.

<figure><img src="/files/z2jXC0v75QQKVssECGT0" alt=""><figcaption><p>Edit, duplicate, delete or disable</p></figcaption></figure>

## Examples

Let us see some examples with conditions configured based on numeric columns. We have three options when you choose a numeric column—number, value, and formula.

### 1. Number

Formatting can be applied based on a specific number limit or range. In this example, we'll format records where the 'Target Bonus' is greater than 0.5. We have applied the following formatting styles to the JobTitle field: bold, fill, font color, and border color where TargetBonus>0.5.

<figure><img src="/files/Duy1SaDyzfxFa65nbsWa" alt=""><figcaption><p>Conditional formatting based on a numeric input</p></figcaption></figure>

### 2. Value

You can apply conditional formatting based on another field in the visual. In the example below, we have formatted rows where the salary is less than the corresponding 'Active' column value.

<figure><img src="/files/jon1IFdgGZWdYEnGSieG" alt=""><figcaption><p>Conditional formatting based on the value in a column</p></figcaption></figure>

### 3. Formula

You can also format data based on a formula that you can configure, as shown in the example below.

<figure><img src="/files/1P1YWsO77mFDxumUu9Dv" alt=""><figcaption><p>Conditional formatting based on a formula</p></figcaption></figure>


# Row Access Control

Data security and integrity are critically important, especially in a collaborative environment where multiple users work on a shared database. EDITable addresses your security needs by offering row-level access control at the granular level.&#x20;

You can precisely manage who can add, update, or delete rows by specifying their email IDs. This section explains how you can allow/restrict all or specific users from performing specific actions (add/update/delete) using the 'Row Access Control' in EDITable.

{% hint style="info" %}
Columnar ACL (access control for columns) is also available in EDITable and has been explained in the [Column Access Control](/working-with-editable/column-access-control) section.
{% endhint %}

To manage permissions for adding, updating, and deleting rows within a table, go to **Settings -> Row Access.**

<figure><img src="/files/GIBhturk1NcXvV8aAGiZ" alt=""><figcaption><p>Set up row access control</p></figcaption></figure>

## 1. Add

1. Enable the **Add Rows** toggle button to allow users to add new rows to the table.&#x20;

<figure><img src="/files/KTEbdGb3imLv1pdiElMD" alt=""><figcaption><p>Enable adding rows</p></figcaption></figure>

2. **Access Control**&#x20;

Under the 'Apply to' section, you can choose to allow all users or only specific users in the workspace to add rows.

* **All users in this workspace:** Select this option to allow all workspace users to add records.
* **Specific users in this workspace:** Choose this option to allow only specific workspace users to add rows. You can enter the email IDs of the users or the AD groups you want to allow.

<figure><img src="/files/zEjC83PanRIem6QyZQ5S" alt=""><figcaption><p>Allow specific users to add rows</p></figcaption></figure>

3. Click on **Save** to apply changes.&#x20;

<figure><img src="/files/Wsh7rbyDt0oRKuFiFoqd" alt=""><figcaption><p>Save settings</p></figcaption></figure>

## 2. Update

1. Enable the **Update Rows** toggle button to allow users to modify existing rows.&#x20;

<figure><img src="/files/d1cC2eqOcMOQaETDx244" alt=""><figcaption><p>Enable update option</p></figcaption></figure>

2. **Access Control**

Under the 'Apply to' section, you can specify the access rules for the update operation.

* **All users in this workspace:** Select this option to allow all workspace users to update records.

<figure><img src="/files/DV5tZ63OR7EFW8iVgZcG" alt=""><figcaption><p>Allow all users to update rows</p></figcaption></figure>

* **Specific users in this workspace:** Choose this option to allow only certain workspace users to update the rows. Enter the email IDs of the users you want to allow.

<figure><img src="/files/3EuyOD70JVVemhVaNcb3" alt=""><figcaption><p>Allow specific users to update rows</p></figcaption></figure>

* **Rule-based access:** Select this option to configure rules governing the update access to particular columns or records in the table based on specified filter criteria.

-> Click on **Add Rule** to add a rule.

<figure><img src="/files/gX7Q5quEIVCMmZlBmRNB" alt=""><figcaption><p>Add rule</p></figcaption></figure>

-> Enter the rule name, the filter criteria, and the designated users who can update these rows. Click on **Add.**

<figure><img src="/files/cEJwps1mz4hCV1kJyoNO" alt=""><figcaption><p>Configuring criteria for a rule</p></figcaption></figure>

-> You can add more filter criteria within a rule by clicking on **Add filter** and then combine them using AND or OR operators.

<figure><img src="/files/oCJh8UWoWqzWRb8wzQcW" alt=""><figcaption><p>Adding more criteria within a rule</p></figcaption></figure>

-> You can set as many rules as required and assign corresponding users for each.

<figure><img src="/files/FEKqBQxWEA1ILPHglYpJ" alt=""><figcaption><p>Adding multiple rules</p></figcaption></figure>

3. Click on **Save** to apply changes.&#x20;

<figure><img src="/files/LzZCGdReWJ2LWgv1k60V" alt=""><figcaption><p>Save settings</p></figcaption></figure>

## 3. Delete

The 'Delete Rows' toggle is disabled by default.

1. Enable the **Delete Rows** toggle button to allow users to delete rows from the table.&#x20;

<figure><img src="/files/TkhIrjGRSgJCkmpZKNEy" alt=""><figcaption><p>Enable delete option</p></figcaption></figure>

2. **Access Control**

Under the 'Apply to' section, you can choose to allow all users or only specific users in the workspace to delete rows.

* **All users in this workspace:** Select this option to allow all workspace users to delete records.

<figure><img src="/files/VKPzL8laizvWvEbUc4Il" alt=""><figcaption><p>Allow all users to delete rows</p></figcaption></figure>

* **Specific users in this workspace:** Choose this option to allow only specific workspace users to delete rows. You can enter the email IDs of the users or the AD groups you want to allow.

<figure><img src="/files/iczD1R7BVG7hxL36Z2vw" alt=""><figcaption><p>Allow only specific users to delete rows</p></figcaption></figure>

* **Rule-based access:** Select this option to configure rules governing the delete access to particular columns or records in the table based on specified filter criteria.

-> Click on **Add Rule** to add a rule.

<figure><img src="/files/bFljYM5BmRTeCxJFpySY" alt=""><figcaption><p>Add rule for delete access</p></figcaption></figure>

-> Enter the rule name, the filter criteria, and the designated users who can delete these rows. Click on **Add.**

<figure><img src="/files/xxlPcTGKHlsrDCBpiMCt" alt=""><figcaption><p>Configuring criteria for a rule</p></figcaption></figure>

-> You can add more filter criteria within a rule by clicking on **Add filter** and then combine them using AND or OR operators.

<figure><img src="/files/bGO95JUSHEeyhy4vmFVq" alt=""><figcaption><p>Adding more criteria within a rule</p></figcaption></figure>

-> You can set as many rules as required and assign corresponding users for each.

<figure><img src="/files/6QfymvL4WvOyVqJTNq6W" alt=""><figcaption><p>Adding multiple rules</p></figcaption></figure>

3. Choose the delete type. When you allow users to delete rows, you can let them [delete the rows permanently](#id-3.1.-delete-row-permanently) or [set up a soft delete](#id-3.2.-mark-row-as-deleted). Both methods are explained below in detail.

<figure><img src="/files/L10M8oY3rCEX0l8WR0p3" alt=""><figcaption><p>Choose the delete type</p></figcaption></figure>

4. Click on **Save** to apply changes.&#x20;

<figure><img src="/files/xnWOtI4FlXwbOJXWap62" alt=""><figcaption><p>Save settings</p></figcaption></figure>

### Delete Type

### 3.1. Delete row permanently

When you select this option, the deleted rows are removed from the table/database permanently.

<figure><img src="/files/G3Je0WxjZqhdGEioi0CD" alt=""><figcaption><p>Delete row permanently</p></figcaption></figure>

### 3.2. Mark row as deleted

When you select this option, the deleted rows remain in the database but are marked as deleted in the table.&#x20;

This is accomplished by setting a specific value to an existing column in the table when a row is deleted. For example, in the example below, we have assigned the text 'DELETED\_ROW' to the deleted row's '*Active'* column. The results are displayed below.

<figure><img src="/files/tEnu3SBiQf3mR3HzXtCh" alt=""><figcaption><p>Mark row as deleted</p></figcaption></figure>

#### Show deleted rows

When the 'Show deleted rows' option is selected, the deleted rows are shown in the table in a greyed-out format.

<figure><img src="/files/4ur5q3zMqw360e0SgYUj" alt=""><figcaption><p>Show deleted rows</p></figcaption></figure>

When this option is unchecked, the deleted rows are hidden from the table.

<figure><img src="/files/rQFdmA6YQQNL0sIV8gyV" alt=""><figcaption><p>Deleted rows are hidden</p></figcaption></figure>

You can use the audit log to keep track of all changes, including the list of deleted and soft-deleted rows.

<figure><img src="/files/dMo3MM4rXfJtVq2Z1ZEU" alt=""><figcaption><p>Audit log</p></figcaption></figure>

{% hint style="info" %}
Soft delete is not supported if Type 2 SCDs are configured in the table. Instead, the deleted rows are struck off.
{% endhint %}

#### In the table below, Type 2 SCDs are configured, and the deleted rows are indicated as shown below:

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

In addition to row-level access control, you can also set up approval workflows so that every change made by a user goes through a review and approval process. This is explained in the next section.


# Approval Workflow

EDITable's live database connection allows for real-time data updates and synchronization. While row and column-level access permissions ensure data integrity, you can go one step further to secure your data by setting up approval workflows.

In a team, users might need management's approval before making any data changes to ensure correctness and accuracy. There can be scenarios like multiple users accidentally changing the same data, entering incorrect values, etc. All these can be managed by setting up an approval workflow process in EDITable and then selecting the approvers.

## Steps to set up approval workflow

1. Enabling Approvals in EDITable
2. Selecting approvers by specifying the method
3. Setting up the handling of approvals, if necessary

Once enabled, every change made by users undergoes an approval process before getting saved and synced to the source.

Whenever a change is made,&#x20;

:ballot\_box\_with\_check: Approvers receive an email notification about the change request made along with details such as the request ID, name of the table, database, and author who initiated it.

:ballot\_box\_with\_check: The changes are indicated in the table based on how they have been set to be handled (Persistence modes).

:ballot\_box\_with\_check: Approvers can review the log in the 'Review' tab and choose which changes to approve or reject.&#x20;

:ballot\_box\_with\_check: After approval or rejection, the user who made the change is notified via email.

:ballot\_box\_with\_check: The approver can also propose changes to the author.

:ballot\_box\_with\_check: The author can choose to make the suggested changes and send it again for review.

:ballot\_box\_with\_check: The approved changes are synced to the source.

This section explains all of the above in detail.

## **1. Enable Approvals**

You can turn on the approval workflow by following the steps below:

1. Navigate to **Settings** **-> Approvals.**
2. Toggle on the **Enable Approvals** button.

<figure><img src="/files/ouGvcz2BCga8fjkUrsOt" alt=""><figcaption><p>Enable approvals</p></figcaption></figure>

## 2. Select Approvers

The next step is to select the approvers who will review and approve any changes made to the table.&#x20;

There are three ways to select approvers.&#x20;

* Manually entering the email IDs of approvers or IDs of AD groups (Active Directory Groups)
* Configuring a rule-based system to identify the approvers
* Using a lookup table to establish the rules.

Here's a detailed guide to each method:

### **2.1. Enter the List of Approvers**

This is a straight-forward method where you will manually specify individuals who will act as approvers. This method allows you to select specific users in the workspace by typing their names or email addresses who will be responsible for reviewing and approving the changes.&#x20;

<figure><img src="/files/2e2OiBmEF0mb3KSqz1f5" alt=""><figcaption><p>Enter list of approvers</p></figcaption></figure>

### **2.2. Add Rules to Identify Approvers**

Define approvers for specific columns or records in the table based on set rules and criteria. Enter the rule name, the filter criteria, and the designated approvers for that rule. You can set as many rules as required and assign corresponding approvers for each.

Note that rules are executed in the order they are added and can be reordered.&#x20;

The detailed steps are as follows:

1. Select **Add rules to identify approvers.**
2. Click **Add Rule** to add a rule.

<figure><img src="/files/myJxejDCKbt8H0Fd3xDs" alt=""><figcaption><p>Add rule</p></figcaption></figure>

3. In the pop-up, enter a name for the rule, filter criteria and approvers for the criteria and click **Add.**

<figure><img src="/files/Qm01OW0xaDpRHt0ij2Z1" alt=""><figcaption><p>Adding criteria </p></figcaption></figure>

4. You can add multiple filters/criteria within a rule and combine them using AND or OR operators as below:

<figure><img src="/files/28YOO3LJYvlIjbQupX8m" alt=""><figcaption><p>Adding more than one filter criteris</p></figcaption></figure>

5. To delete a filter criteria, use the bin icon.&#x20;

<figure><img src="/files/9if3xinKGV2STxEYtMBC" alt=""><figcaption><p>Deleting a filter criteria</p></figcaption></figure>

6. After clicking **Add**, you can find the rule added to the list of rules. You can add more rules by selecting **Add Rule.**

<figure><img src="/files/Olgg2f1JdF0HJHzyQZN7" alt=""><figcaption><p>Rule added</p></figcaption></figure>

7. Use the options as highlighted below to edit, re-arrange, or delete a rule.

<figure><img src="/files/oxVXWVxdEri1DF716mER" alt=""><figcaption><p>Edit/delete rules</p></figcaption></figure>

8. **Default Approver**: In the final step, add one or more default approvers who will approve the changes that do not meet the above-configured rules/criteria. Click **Save** and you are good to go.

<figure><img src="/files/0M3APYB8GzSJxMcad48m" alt=""><figcaption><p>Default Approvers</p></figcaption></figure>

### **2.3. Lookup Rules from a Table**

In this method, you can configure the rules and approvers list by looking up data from another table. The options are explained below:

* **Table**: This dropdown menu displays a list of tables in the connection. Select the table from which the approvers list is to be looked up/fetched.
* **Approvers**: Choose the column containing the approvers' email IDs.
* **Conditions**: Map columns from the lookup table to the corresponding columns in the source table to join the tables. You can set multiple conditions (join multiple columns) as needed.

For example, let us assume each brand in the lookup table has a person-in-change with their corresponding Email IDs added in the Email ID column. By mapping the columns 'brand' from both tables, we allow the corresponding approvers' email IDs to be fetched for each brand.&#x20;

* **Default Approvers**: Specify the default approvers to approve other changes that do not involve the above set conditions.

<figure><img src="/files/SzWMl43rIRBFyCorsbmU" alt=""><figcaption><p>Look up table for rules</p></figcaption></figure>

Click on **Preview Rules** to view the approvers list for each brand. In the example below, we have the same approver for all brands.

<figure><img src="/files/R44MwjH31W8DBMWEZc63" alt=""><figcaption><p>Preview Rules</p></figcaption></figure>

You can use the **Sync Rules** option to sync the connected lookup table to fetch the latest data. The last sync details and the status can also be seen.

## 3. Handling Approvals - Persistence Mode

In this section, you can specify your preferences for managing approvals. There are two options available.

### **3.1. Require Approval Before Saving**

In this method, users must get approval before saving any changes to the data. This is the default mode.

<figure><img src="/files/iEBHmusBqFxTjbu9ZBCI" alt=""><figcaption><p>Persistence mode</p></figcaption></figure>

After making changes, clicking on **Save** opens the pop-up below, where you can add the description and priority of the change. Click **Submit** to send them to the approver.

<figure><img src="/files/C88VLCJuoWtPkLSH7MJV" alt=""><figcaption><p>Send for approval</p></figcaption></figure>

The table below illustrates the changes made, highlighted in yellow. Hovering over the marked areas displays detailed information about the changes.

<figure><img src="/files/9V1V5n6J840Yt8Cpgg2V" alt=""><figcaption><p>After submitting the changes</p></figcaption></figure>

### **3.2. Save with Pending Approval Status**

In this option, the changes are saved and synced to the database with a 'pending review' status flag. The rows marked as pending are sent for review. Once approved, the status column will be updated to reflect the approved flag, and the data will also be updated accordingly.

1. Choose any existing column from the table to reflect the status flag field. We have used the column 'Active' in the example below, where the status is recorded.
2. Enter the required text to be displayed for each state, such as pending for review, approved record, and rejected record.&#x20;
3. Click **Save.**

<figure><img src="/files/94pfFblgXYs8PUJ7A6Fh" alt=""><figcaption><p>Configuring the text for status flags</p></figcaption></figure>

After making the changes to the table, you need to click on **Save** to send it for review. This saves the data with the status column.

<figure><img src="/files/Qp0mPdKaZF3dDhFbC1Zg" alt=""><figcaption><p>Save and proceed for approval</p></figcaption></figure>

The saved changes are displayed as below, with the status flag: 'Pending':

<figure><img src="/files/x4xdv9xvdDgiZ33n459V" alt=""><figcaption><p>Saved changes with the status</p></figcaption></figure>

In the next section, we will discuss the process flow of review and approval in detail.


# Review Changes - Workflow process

In this section, we will discuss the approval workflow process from both the author's and the approver's ends. The author is the user who has requested changes, and the approver is the user who approves them.&#x20;

Let us assume the author has made a few changes and has sent them for approval.&#x20;

Now we will explore the **Review** tab which provides an outline as well as detailed information on the change requests. The **Review** tab has two sections: **Pending Requests** (requests you need to approve) and **My Requests** (requests raised by you)**.**

<figure><img src="/files/cJIGO9jMxDLZTktGl5UA" alt=""><figcaption><p>Review tab</p></figcaption></figure>

{% hint style="info" %}
In certain situations, a user may serve as both an approver and an author, depending on the set rules for specific sections or departments. In this case, the user can easily switch between tabs to view their pending approval requests as well as the requests they have submitted.
{% endhint %}

Let us start with the 'My Requests' tab.

## 1. 'My Requests' window

This tab displays an overview of the requests and changes you have made and sent to the approver.

<figure><img src="/files/cSGY5qTsIgZGa1WApfB4" alt=""><figcaption><p>'My Requests' window</p></figcaption></figure>

This screen has the following sections:

* **Open:** This tab lists all your open requests, yet to be approved.
* **Closed:** This tab lists the closed requests that are approved/closed.

You can switch between these tabs to view your open and closed requests. Once the requests are approved/closed, they will be moved to the 'Closed' section.

* **Search:** This window has a search box that helps you search for specific requests.

<figure><img src="/files/DbfyNyn3WjG1ajrzYMCN" alt=""><figcaption><p>Search request</p></figcaption></figure>

* **Priority:** You can use this filter to filter requests based on priority.

<figure><img src="/files/3n1ERorvKR108Gus0va8" alt=""><figcaption><p>Priority filter</p></figcaption></figure>

* **Status:** Using this filter, you can filter requests based on their status.

<figure><img src="/files/8MTMWkQex96UllNFnM5R" alt=""><figcaption><p>Status filter</p></figcaption></figure>

-> **Active** status refers to open requests that are awaiting approval from the approver.

-> The **'Requested Changes'** status indicates requests that need revisions, as suggested by the approver.

-> The **'Changes Submitted'** status denotes requests that have been re-submitted to the approver after incorporating those adjustments and suggestions.

**Sort:** This option is used to sort them from newest to oldest, oldest to newest, and most recently updated.

<figure><img src="/files/WLm2l80bJ7bucS9Mt6bP" alt=""><figcaption><p>Sorting the changes</p></figcaption></figure>

### Detailed view of your request

The 'My Request' screen provides an overview of all change requests submitted. To understand each change request in detail, you can click on the specific change request.

Let's click on one of the requests:

<figure><img src="/files/96dWTN4a9unklVpduZKS" alt=""><figcaption><p>List of changes in a single request</p></figcaption></figure>

It has the request ID, description of the request (if you have added it), approver details, time it was raised, priority, and its status. It has a host of options such as **editing data, adding comments, viewing history, closing the request, and submitting it for review**.&#x20;

<figure><img src="/files/65rltcqKEHwSCXi1NKbD" alt=""><figcaption><p>Request window</p></figcaption></figure>

#### Add comment

It has a comment option that lets you add comments to the changes so that approvers can understand it better. This works similarly to the [commenting and collaboration](/commenting-and-collaboration) feature.

1. Click on the cell to which you want to add the comment. The comment icon is enabled.

<figure><img src="/files/tmnVF2ZSWvdOL09VUnRI" alt=""><figcaption><p>Comment icon</p></figcaption></figure>

2. Click it to add a comment and select **Post.** The comments are updated automatically and approvers can view them when they open the requests.

{% hint style="info" %}
Please note that the email notification for comments will be sent to the approver only in case of published reports.
{% endhint %}

<figure><img src="/files/LYKKl3NsHKjlC9MakISg" alt=""><figcaption><p>Add and post a comment</p></figcaption></figure>

3. You can also add assignees and start a comment thread. The task status is automatically set to 'open' and an email notification is sent to them. The assignees can reply to the thread to start a conversation.

<figure><img src="/files/yq9dL5CNi9Q5x4GwR8zt" alt=""><figcaption><p>Adding assignees</p></figcaption></figure>

4. Click on **View Comments** to view all the added comments.

<figure><img src="/files/iP9nttGfYDOFLMhK1YqS" alt=""><figcaption><p>View Comments</p></figcaption></figure>

#### Edit changes

1. To edit the data in the submitted changes click on the **Edit** option.

<figure><img src="/files/WjoaTxmiL9uuSv55ezcn" alt=""><figcaption><p>Edit option</p></figcaption></figure>

2. The changes can be a new one or the undoing/modification of the existing ones. After editing, click **Save.** The saved changes are submitted automatically.

<figure><img src="/files/j7hdaunaPxjLqo8TTGw3" alt=""><figcaption><p>Editing the request</p></figcaption></figure>

3. You can optionally add a comment which gets updated too.

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

#### History

Click **History** to view the history of edits committed.

<figure><img src="/files/2qkATJVyDT1vJz18qAC7" alt=""><figcaption><p>History</p></figcaption></figure>

#### Close Request

Use the **Close Request** option to pull back the submitted request and move it from the 'Open' to the 'Closed' section.

<figure><img src="/files/HvLgKndTbWoXOfISFtL5" alt=""><figcaption><p>Close Request</p></figcaption></figure>

#### Submit For Review

If the approver has requested changes during their review, you can either make the suggested changes or choose to skip them while adding a comment. Once you have made the necessary changes or added your comment, click the **Submit for Review** button to resubmit your work.

<figure><img src="/files/1FDO4dbYoxdvuJwuRtg2" alt=""><figcaption></figcaption></figure>

## 2. 'Pending Requests' window

This tab shows all the pending changes that require your review and approval. If you are an approver, you can view the requests submitted by other users in this section.&#x20;

<figure><img src="/files/2PELCsiTPjKG49gw39gZ" alt=""><figcaption><p>Pending Requests</p></figcaption></figure>

Similar to the 'My requests' tab, this window has options to **search** and **filter** for specific requests based on their status, priority, author's name, etc. You can also **sort** them from newest to oldest, oldest to newest, and most recently updated.

### Detailed view of a pending request

Click on any request to access the detailed information.

<figure><img src="/files/5vIqfOVjg9a1wCsBUetj" alt=""><figcaption><p>Detailed view of a pending request</p></figcaption></figure>

The approver can access this window to view detailed changes in a single request. They can view the changes, which are highlighted in blue, and deleted rows in red as below:

<figure><img src="/files/GiL0xFMCfcj8unFwRJRx" alt=""><figcaption><p>Pending request- options available</p></figcaption></figure>

Note that in the above example, one of the changes (ID number: 7) is sent to another approver, based on [configured rules](https://docs.editable.io/approval-workflow/pages/jFiyTHQoo9iDestA5H7F#id-2.2.-add-rules-to-identify-approvers).&#x20;

1. To approve a change, select it and click **Approve.**

<figure><img src="/files/dhJvon2GQqOT2Lg65CJU" alt=""><figcaption><p>Approve a change</p></figcaption></figure>

2. To reject a change, select it and click **Reject.**

<figure><img src="/files/2G7HURYctwP8TfwrqTr9" alt=""><figcaption><p>Reject a change</p></figcaption></figure>

3. To request/suggest changes, click **Request Changes.** The steps are explained [here](#id-3.-request-changes).

<figure><img src="/files/Iu0JHin2AEXOnKcD8NJB" alt=""><figcaption><p>Request Changes</p></figcaption></figure>

4. Click on **View Comments** to view added comments.

<figure><img src="/files/lUqBKvjbx6YoaqqGNpoj" alt=""><figcaption><p>View Comments</p></figcaption></figure>

5. Select **History** to view the history of actions performed.

<figure><img src="/files/TevoegUHjlSSC8NuiY4g" alt=""><figcaption><p>History</p></figcaption></figure>

## 3. Request Changes

The approver can suggest modifications by requesting changes. In response, the author can review these suggestions, make the necessary adjustments, and then resubmit the revised request for further consideration.&#x20;

1. If you are an approver, you can request changes to the author by clicking **Request Changes.**

<figure><img src="/files/Iu0JHin2AEXOnKcD8NJB" alt=""><figcaption><p>Request Changes</p></figcaption></figure>

2. You can optionally add comments describing the suggestion. Comments help the author understand the modifications you need. Click **Submit.**

<figure><img src="/files/NHOEEstzKvbt8FOuNRAs" alt=""><figcaption><p>Adding a comment while requesting change</p></figcaption></figure>

3. The author is notified through email. They can make the changes and [resubmit it for review](#submit-for-review).

Both the author and the approver are notified through emails about the suggested changes and the resubmission, facilitating quicker and easier collaboration through a simple conversation thread.

## 4. Removing Approval Workflow

To disable the approvals, toggle off the Enable Approvals button and click **Proceed.**&#x20;

<figure><img src="/files/rN4NAGTODWiHlEfjsYbm" alt=""><figcaption><p>Disable and Proceed</p></figcaption></figure>

{% hint style="info" %}
Once a workflow is disabled, all active requests will be deleted and further changes in the table will be committed directly.
{% endhint %}


# Type 2 SCDs

Type 2 Slowly Changing Dimension (SCD) is a data warehousing method used to track changes in data over time by preserving the change history. You can view the historical data for each record and their corresponding time range when it was valid.

*If you're already familiar with SCDs, you may skip this section and move ahead to the* [*next section.*](/type-2-scds/configuring-type-2-scds-in-editable)

## 1. Understanding Type 2 SCDs

* Whenever an entity's data in any dimension changes, a new row is created instead of overwriting the old ones.&#x20;
* Each new row includes the updated information along with the start date and end date that indicate the validity period of the updated information.&#x20;
* There is an additional flag column that indicates the record that is currently active. This column can be of the checkbox type or a simple true/false or 0/1 column.
* There can be one or more timestamp columns in addition to the start date to signify when a new record was actually created or when the change was made effective.

This approach allows us to analyze the historical data and understand how the information has evolved over time.

## 2. Example for Type 2 SCDs

Let us consider an employee database where the employees' details, such as salary, incentive, job role, etc., can slowly change over time.&#x20;

With SCDs, whenever there is a change, a new row with the updated details is created instead of overwriting the old one. This new row includes an effective start date that indicates when it was updated, or when the new details became live.

Meanwhile, the old row will have an end date marking when it was last valid. Likewise, every change made to an employee is tracked through a series of rows, each with its respective start and end dates.&#x20;

Find below the database where SCDs are in place:

<table data-full-width="false"><thead><tr><th width="155" align="center">ID (Surrogate Key)</th><th width="129" align="center">Emp.ID (Business Key)</th><th width="119" align="center">Employee  Name</th><th width="91" data-type="number">Salary</th><th width="147">RowValidFrom</th><th width="142">RowValidTo</th></tr></thead><tbody><tr><td align="center">1</td><td align="center"><mark style="color:green;"><strong>C501</strong></mark></td><td align="center"><mark style="color:green;"><strong>John S</strong></mark></td><td>70000</td><td>20-10-2023</td><td>23-10-2024</td></tr><tr><td align="center">56</td><td align="center">C002</td><td align="center">Alan B</td><td>75000</td><td>01-01-2024</td><td>31-12-2025</td></tr><tr><td align="center">234</td><td align="center"><mark style="color:green;"><strong>C501</strong></mark></td><td align="center"><mark style="color:green;"><strong>John S</strong></mark></td><td>80000</td><td>24-10-2024</td><td>31-12-2025</td></tr><tr><td align="center">235</td><td align="center">C988</td><td align="center">Lily S</td><td>65000</td><td>21-10-2024</td><td>31-12-2025</td></tr></tbody></table>

One table row represents an entity's attributes for a defined timespan. The whole lifespan of one business entity can be inferred from a list of such rows.

In the next section, we will discuss how to configure a database that can support SCDs and how you can assign the appropriate keys in EDITable.


# Configuring Type 2 SCDs in EDITable

Type 2 SCDs can be optionally added using EDITable to track changes in your database. Before enabling Type 2 SCDs, please note that they can be configured for specific tables that have the necessary fields. In this section, we will go over how to configure them from start to finish.

## 1. Configuring the Database

To set up SCDs, the source table must contain a few specific column types to enable and support them. After adding them, we can configure the columns and the appropriate keys in the EDITable visual. In this section, we will look at all of these steps in detail.

We will use the below table to demonstrate the implementation of Type 2 SCDs in EDITable:

<figure><img src="/files/E5rviUB7EJw9Ct4Dj2H7" alt=""><figcaption><p>Sample Table</p></figcaption></figure>

{% hint style="info" %}
The *ID\_New* column is assigned in the **Primary Keys** field, while other columns are assigned to the **Columns** field, in the Visualizations pane.
{% endhint %}

To configure SCDs, your table must contain the highlighted columns as shown below. The Future/Effective date column is optional.

<figure><img src="/files/jtpVEdzKjxxowd9rhQTy" alt=""><figcaption><p>Sample database in EDITable</p></figcaption></figure>

These are explained below in detail.

## 2. Key Terms used in Type 2 SCD implementation

Let's revisit some of the key terms used while configuring SCDs.

Every row in the table would have a business key and a surrogate key.

### 3.1. Business Key

1. The business key/natural key is an entity's unique identifier. In the above example, each employee can be viewed as an entity identified by a unique ID (*Employee ID*) known as the business key.&#x20;
2. It must be unique to an entity, mandatory, and non-null.
3. It is an attribute of the entity derived from the data.

As shown in the above example, your table should have a numeric/text/alphanumeric column that can be used as a business key and meets all of the above requirements.

### 3.2. Surrogate Key

* The surrogate key is a system-generated key and identifies each unique record in the table.
* Unlike business keys, surrogate keys are not derived from data and are not attributes of entities.
* A surrogate key is automatically incremented by one whenever a new record is created to track the change.

By default, EDITable selects the primary key as the surrogate key. Therefore, the table must include a numeric data type column that has a unique value for each record. This column should be assigned to the 'Primary Keys' field in the Visualizations pane so that EDITable can automatically detect it as the surrogate key.&#x20;

{% hint style="info" %}
It’s important to note that while an entity's business key can be identical or non-unique across rows in the table, the surrogate key must be unique for each row.
{% endhint %}

### 3.3. Start Date

This date indicates the day when the updated information became active or when changes were made to the table.

### 3.4. End Date

This date represents the last day until that row's information is valid.

### 3.5. Active Flag

This is an additional flag column to signify the record that is currently active. This column uses a simple indicator (0/1 or true/false) to denote whether a specific record is presently active or a valid version.

The table should contain a VARCHAR/text type column for setting up an active flag column with the default value 'true' set for all rows. You can then configure this column in the 'Manage Columns' window with the checkbox type.

### 3.6. Future Date/Effective Date

EDITable lets you add an effective date/timestamp column alongside the start date column to record when the change actually took effect. To do this, create another date column in your table and then choose it from the 'Future Dates' dropdown menu.&#x20;

{% hint style="info" %}

* The **Start Date** indicates when the record was added/updated and became valid in the system (operational perspective).
* The **Effective Date** represents the actual date when the change took effect in the real world (business perspective).&#x20;
* These two dates are usually the same in most cases, but they can differ due to internal policies, business rules, delays in data entry, processing, etc.&#x20;

Adding the Effective Date allows you to query historical data based on when the change was valid in the business context, not the system context. This enables accurate tracking that can be helpful for reporting, compliance audits, and ensuring downstream systems use the correct business timeline.
{% endhint %}

## 3. Configuring the Columns&#x20;

After configuring the source table as explained above, we have to ensure the columns are assigned the appropriate properties to support Type 2 SCDs. This is done in step 2, in the 'Manage Columns' window, after loading your table and configuring the source.&#x20;

<figure><img src="/files/oWx38pu9VX0mjCB1NiGV" alt=""><figcaption><p>Manage Columns</p></figcaption></figure>

Best practices for configuring the columns in the EDITABLE visual:

* Ensure that the surrogate key is assigned as the primary key in the Visualizations pane.
* Enable the 'Required' option for the above fields so that these are always available.
* Disable 'Allow Edits' for the surrogate key to avoid accidentally editing it. This ensures that each surrogate key is distinct and helps to identify the row.
* Ensure to choose appropriate 'Input Type' for the columns (Date type for Start Date, Effective Date and End Date, Check box type for Active Flag column, etc.).

<figure><img src="/files/N4tOJ648LZFgTk70uNi0" alt=""><figcaption><p>Configuring the columns</p></figcaption></figure>

* After configuring the columns, click **Save** to save the configuration.&#x20;

{% hint style="info" %}
You can always return to this window and reconfigure the columns if necessary by selecting the **Manage Columns** option in the Home tab.
{% endhint %}

The next step is to enable Type 2 SCDs.

## 4. Enabling Type 2 SCD support

In the next step, you can enable Type 2 SCDs.&#x20;

1. Click on the link as shown in the image below:

<figure><img src="/files/Kzo6r6xlLk3Muto9biNU" alt=""><figcaption><p>Click to configure SCDs </p></figcaption></figure>

2. Enable support for SCDs using the toggle button as shown below and start configuring them.

<figure><img src="/files/zCdGFRRkoj532ME9qtty" alt=""><figcaption><p>Enable support for SCDs</p></figcaption></figure>

## 5. Configuring SCDs

Now that we have created a table with all of the necessary fields and how to use them, we will begin adding them to the pop-up window, as shown below:

<figure><img src="/files/dNjvYWcnUSECS3l3YHwi" alt=""><figcaption><p>Configuring SCDs</p></figcaption></figure>

&#x20;Click on **Save** to save the choices. **Close Settings** to return to the table.

<figure><img src="/files/wYmIQLruAJQRmgeygAeh" alt="" width="563"><figcaption><p>Click 'Save'</p></figcaption></figure>

The table now looks as shown below with all active records.

<figure><img src="/files/AOQVc5usfdQZBCtuJqsF" alt=""><figcaption><p>After configuring SCDs</p></figcaption></figure>

## 6. Accessing Row History

Let's assume a few records in the table have been edited. To view the change history of the record, you need to follow the steps below:

1. **Select the record**: Choose the record you are interested in.&#x20;
2. **View History**: Once you select the record, click on **History** to view its history. This history includes all the changes that have been made to the record over time.

<figure><img src="/files/psswMIEUIIIAaqtlngA6" alt=""><figcaption><p>View history of a record</p></figcaption></figure>

3. **Most Recent First**: The changes are displayed in order, with the most recent changes at the top. This way, you can quickly see the latest updates first. The history of the particular record is shown below:

<figure><img src="/files/eAK0i6YjS63dqTSnMxJs" alt=""><figcaption><p>History of the record</p></figcaption></figure>

{% hint style="info" %}
At a time, you will be able to view the history of a **single row.**
{% endhint %}

This way, you can set up Type 2 SCDs for your database.

{% hint style="warning" %}
Note:

1. The action of configuring SCDs is permanent and cannot be undone once enabled and saved.
2. If you have missed configuring SCDs and wish to set it on a later date or you need to edit the existing configuration, you will need to **reset** all the visual settings by clicking on **Reset** in the **Settings** window. Note that this resets all the settings, including the source and column configurations.
   {% endhint %}

<figure><img src="/files/iwt4EK3MqIz6Qx9EmAaO" alt=""><figcaption><p>Reset</p></figcaption></figure>

* To reset the SCD configurations, or to enable SCDs at a later date, you need to click on **Reset.**
* To view the existing SCD configuration, you can go to **Settings -> Slowly Changing Dimensions.**

<figure><img src="/files/FSuCBNg2hJIZWZh2OrP5" alt=""><figcaption><p>View SCD configuration</p></figcaption></figure>

{% hint style="info" %}
&#x20;The following features are not supported if you have enabled Type 2 SCDs for your table:

* Soft delete
* Audit log
* Persistence mode in approval workflows
  {% endhint %}


# Audit logs

The audit log is a comprehensive record of all changes made to the table. EDITable's audit log is interactive and offers both search and filter options. It also allows you to download and export the logs.

This section provides information on how to access audit logs and other related features.

{% hint style="info" %}
If Type 2 SCDs are enabled in your table, you will not be able to use the audit log feature.
{% endhint %}

## 1. Track Changes

Click the **Audit** tab to open the audit logs window.&#x20;

This displays detailed information about recent changes and updates to your table, keeping track of all modifications.

<figure><img src="/files/yHIS4UcryanNmwyDnps0" alt=""><figcaption><p>Audit logs</p></figcaption></figure>

The audit log provides a chronological record of transactions and actions to track all data changes in the source table as shown in the image above. This log includes the row ID of the modified record, details of the modified columns, the previous and new values, the person who made the change, the date and time of the change, and the type of modification.&#x20;

{% hint style="info" %}
The audit log captures all the significant actions performed on the table, including Insert, Update, Delete, and Soft Delete.
{% endhint %}

## 2. Search and Filter

You can use the 'Search' and 'Filter' options to look for specific changes made to a specific record.

<figure><img src="/files/fLvGGuabtTxy3s4lhX6k" alt=""><figcaption><p>Search and Filter the audit log</p></figcaption></figure>

The options available are as follows:

1. **Search Row ID - E**nter the Row ID in this search box to search and track all changes made to a specific row. Based on the row ID the logs are dynamically filtered and displayed.

<figure><img src="/files/isSddpdbqHKRUj7okTLv" alt=""><figcaption><p>Search using row ID</p></figcaption></figure>

2. **Action -** You can filter out records based on their type of change, such as inserted, updated with a new value, deleted, or soft-deleted.

<figure><img src="/files/LQ0FO73WkCYCVOA9ONOd" alt=""><figcaption><p>Filter based on action</p></figcaption></figure>

3. **Approved By -** When an approval system is in place, you can use this option to filter changes based on who approved them. For more information on the approval workflow, see [this page](/approval-workflow).
4. **Modified By -** Use this filter to display the changes made by specific members of your team.
5. **Last 30 Days -** Use this filter to view the changes made in the last 30 days, or in a custom date range.
6. **Clear Filters** - Click this option to clear all the applied filters.
7. **Download Logs** - This option lets you download and export, or email the logs in CSV or Excel format.

## **3. Additional Options**

<figure><img src="/files/6GfjdLw7PMo6Ny2GcnIe" alt=""><figcaption></figcaption></figure>

1. **Last Updated Details**
   * Opens two columns showing when a row was updated and by whom.
2. **Transaction Logs**
   * Shows the job details contain information about the transactions made and its status.


# Revert Saved Changes in Database

The audit log includes a **Revert Changes** button, which allows you to **revert previously written-back updates,** enabling users to safely restore records to an earlier state. In case of incorrect changes, you can easily undo them with this option.

Just select the required change(s) from the audit log and click on **Revert Changes.** The updates are rolled back to their previous state.

<figure><img src="/files/lmUgnhiERRt1DGsr5m9D" alt=""><figcaption><p>Revert Changes</p></figcaption></figure>

#### **Key Highlights**

* Users can select one or more **UPDATE entries** and revert them to their previously stored values.
* Reverts are only supported for UPDATE records. Deleted, restricted, or rows awaiting approvals are skipped with relevant messages.
* If a record has been updated multiple times, **the earliest modification** **among the selected items** for that row will be used for reversion.
  * Any changes made after that oldest modification will be reversed.
  * The reverted state becomes the new current version.
* If a record has been deleted after an update, revert is not allowed. EDITable excludes it during validation and shows an error message in the confirmation preview.
* The confirmation preview displays old vs. new values, validation status, and excluded rows before proceeding.

<figure><img src="/files/58ZR4tbl08LV7PIu7lZu" alt=""><figcaption><p>Confirmation before revert</p></figcaption></figure>

* After verifying, you can click on **Exclude Errors and Revert** to exclude the errors and revert the changes.
* Every revert operation is recorded as a new entry, which includes the action type, user information, and reverted timestamp. The old entries are also kept intact for complete traceability.

<figure><img src="/files/8ESUUZHsKa16vZIqxVKO" alt=""><figcaption><p>Reverted changes in audit log</p></figcaption></figure>

* Revert is not permitted for records in approval processes, Slowly Changing Dimensions (SCD), or when the source row no longer exists.


# Webhook

EDITable supports adding a webhook URL to post the transaction results.

Any changes made to the table by users, which includes CRUD operations like Insert, Update, and Delete can be viewed from the transaction logs. It displays detailed information about the transactions, such as the transaction type, number of rows affected by the transaction, status and duration of the transaction, person who initiated them, etc.

The transaction logs can be viewed from the EDITable console as explained in [this section](/admin-portal-and-editable-console/transaction-logs).

If you wish to instantly post these transaction logs from EDITable to a specific endpoint, you can enter the endpoint's URL in the text box as shown below.&#x20;

Click on **Settings -> Webhook** to access this window.

<figure><img src="/files/jpQNs8EWWf9M4TljjIru" alt=""><figcaption><p>Enter webhook URL</p></figcaption></figure>

You can add a header by clicking on **Add New Header.**


# Display Settings

Customize the visual appearance properties of your table to match your desired style and format.

<figure><img src="/files/1J1jwpBphEQFBSax1dVD" alt=""><figcaption><p>Appearance properties</p></figcaption></figure>

## 1. Font

This option lets you choose your preferred font style for the table.&#x20;

<figure><img src="/files/oKEwA5otJx1Xj34l1eOt" alt=""><figcaption><p>Font styles</p></figcaption></figure>

## 2. Font Size

Using this option you can adjust the font size in the table.

## 3. Canvas

The canvas section contains options to set the overall appearance of the visual.

* **Theme**
* **Text**
* **Header Text**
* **Header Text Orientation**

### **3.1. Theme**

The theme option lets you change the theme of the EDITable visual to 'Light' or 'Dark'. The image below shows the dark theme.

<figure><img src="/files/elMh85cTr1PSo47C1p6K" alt=""><figcaption><p>Dark theme</p></figcaption></figure>

### **3.2. Text**

You can change the color of the text/values in the visual using this option.

<figure><img src="/files/AaSLRMr7wm2bnN15uTPN" alt=""><figcaption><p>Text color</p></figcaption></figure>

### **3.3. Header Text**

You can change the color of the header text in the visual using this option.

<figure><img src="/files/gWiSqN9U57ipeIkLuUVI" alt=""><figcaption><p>Header color</p></figcaption></figure>

### **3.4. Header Text Orientation**

This option lets you set the orientation of the header text: horizontal, vertical, clockwise, and counter-clockwise.

<figure><img src="/files/nSLg4KT4ZWfrxDeTJDOo" alt=""><figcaption><p>Header text orientation</p></figcaption></figure>

### 3.5. Options Background Color

Change the background color of single-select and multi-select dropdown options using this option.

<figure><img src="/files/jMTmvNtVk0Tauh7NcnlL" alt=""><figcaption><p>Options Background Color</p></figcaption></figure>

## 4. Insert Row Using Form

If this option is checked, inserting a row will display a form where you can enter data instead of directly typing it into the cell.

<figure><img src="/files/ZJKIOvuOGWN7ZhmNzygp" alt=""><figcaption><p>Insert row using form</p></figcaption></figure>

## 5. Row Highlight

This option allows you to highlight the rows in the report. The various row highlight options are:

* **Row Hover**
* **Row Alternate**
* **Row Alternate Contrast**
* **Row Alternate Flashy**
* **Off**

### **5.1. Row hover**

Highlights the row upon hovering over them. By default, all the tables are configured with the 'Row Hover' highlight option. The following options are displayed in this type:

**Row text color** - This option allows you to set the text color of the row on hover.

**Row background color** - This option allows you to set the background color of the row on hover.

<figure><img src="/files/u9hcqnZXSnT2TcjKpbvx" alt=""><figcaption><p>Row hover</p></figcaption></figure>

### **5.2. Row alternate**

This option highlights alternate rows. All of the row highlight options are customized with predefined colors. If you enable this option, the following options are displayed:

**Odd row** - This option allows you to set the color of the odd rows.

**Even row** - This option allows you to set the color of the even rows.

<figure><img src="/files/31zFLUyIR7ZqjfzNLnME" alt=""><figcaption><p>Row alternate</p></figcaption></figure>

### **5.3. Row alternate contrast**

This option highlights the odd and even rows with contrasting color shades by default. If you enable this option, the **Odd row** and **Even row** options are displayed.

<figure><img src="/files/4gmFemcN9AgAiG2Z03Xl" alt=""><figcaption><p>Alternate contrast</p></figcaption></figure>

### **5.4. Row alternate flashy**

This option highlights the odd and even rows with flashy color shades. If you enable this option, the **Odd row** and **Even row** options are displayed.

<figure><img src="/files/OqVNe9sFB68wGasiH3JF" alt=""><figcaption><p>Alternate flashy</p></figcaption></figure>

You can remove the row highlight by selecting the **Off** option from the drop-down.

<figure><img src="/files/LYTiODvlxas6dfWd8CeK" alt=""><figcaption><p>Row Highlight Off</p></figcaption></figure>

## 6. Table Padding

This option allows you to insert spacing/padding for the table from the top, bottom, left, and right. The minimum and maximum padding values are 0 and 100 respectively.

<figure><img src="/files/8EDM7uiurGD7XSjHeIMX" alt=""><figcaption><p>table padding</p></figcaption></figure>

## 7. Gridlines

You can add **Horizontal**, **Header**, and **Vertical** properties for gridlines.

### **7.1. Horizontal**

This option lets you set the horizontal gridlines for the rows. You can select from the following options:

* **Solid lines**
* **Dashed lines**
* **Off**

If the 'Solid Lines' or 'Dashed Lines' option is selected for the horizontal gridlines, then a color picker is enabled. Using the color picker, you can customize the color of the single/double horizontal gridlines. You can also set the number of rows to skip between 2 consecutive lines.

<figure><img src="/files/6Pbl0TweyqX56SJmG3OJ" alt=""><figcaption><p>Horizontal gridlines</p></figcaption></figure>

### **7.2. Skip lines**

This option allows you to set the grid line gap between the rows. The minimum and maximum skip line values are 1 and 10 respectively.

<figure><img src="/files/mxUggFX1bKTaostFuLjk" alt=""><figcaption><p>Skip lines</p></figcaption></figure>

### **7.3. Header**

This option lets you insert gridlines for the column headers. If this option is enabled, then a color picker option becomes available next to it. Using the color picker option you can customize the color of the header gridline.

The color of the header gridline is the same as that of the horizontal gridlines by default.

If you change the color of the header gridline, the color of the horizontal gridlines also gets changed accordingly.

<figure><img src="/files/atQF7QLQybMZzmSrXcTh" alt=""><figcaption><p>Headet gridline</p></figcaption></figure>

### **7.4. Vertical**

This option lets you insert vertical lines between columns. You can select from the following options:

* **Solid -** This option will insert solid vertical lines to the right of each column.
* **Off** - This option will turn off the vertical lines

If the 'Solid lines' option is selected for the vertical lines, a color picker option is enabled. Using the color picker you can customize the color of the solid vertical lines.

<figure><img src="/files/bUNMQrrgSgPZbZL6Oml8" alt=""><figcaption><p>Vertical gridline</p></figcaption></figure>

## 8. Outline <a href="#id-3.-outline" id="id-3.-outline"></a>

This option allows you to set the outline for the visual. If you enable this option, a color picker is enabled. The color picker allows you to select the color of the outline.&#x20;

<figure><img src="/files/IaZvtfuLpZktvVZUqFK2" alt=""><figcaption><p>Outline</p></figcaption></figure>


# Commenting and Collaboration

Data-level commentary is commonly used in real-life scenarios. EDITable allows you to add comments to individual cells, rows, and columns in a table to provide context to your data, collaborate with your team by tagging them, and assign tasks. All of these features are available without the need for any coding.

Here are the key highlights of the commentary solution provided by EDITable:

* Add comments and annotations to individual cells, rows, and columns.
* Add a dedicated comment column to add row-level comments.
* Tag users and stakeholders using @mention and reply to others' comments.
* Tagged members are notified through an email instantly with the relevant link to take action at a data point level.
* Assign tasks and collaborate with your team, especially for workflow use cases.
* Using the commentary audit log, track tasks and audit the entire list of comments, including details like who wrote them, what they wrote, and when (date and time).
* Comments are always associated with a specific data point, row, or column, so when the data is filtered, the comment appears at the appropriate location.

The comments feature is located at the top of the toolbar, near your user profile.

<figure><img src="/files/h1aIXcLm5yzy5HedxOUa" alt=""><figcaption><p>Comments</p></figcaption></figure>

## **1. Add New Comment**

You can add formatted data-level comments which are saved securely to the database, along with details such as author and time stamp.

1. Select a cell/column. The 'Add a comment' icon gets enabled. Click on the icon.

<figure><img src="/files/upVyItLQEmJyZUsfv20a" alt=""><figcaption><p>Add comment to a cell</p></figcaption></figure>

2. You can also click the **Add New Comment** option from the dropdown to add a new comment.

<figure><img src="/files/7RQHWpFrpboS0pIcGIWG" alt=""><figcaption><p>Add new comment</p></figcaption></figure>

3. The comments editor opens up. Enter a comment as shown below.

<figure><img src="/files/Ssk48TZ2NrTCik2juE5g" alt=""><figcaption><p>Comment editor</p></figcaption></figure>

4. Let's apply some formatting. Select any text, click on the 'Font color' icon, and select a color from the color picker.

<figure><img src="/files/7MJl11Nv4uvhnroBjkG3" alt=""><figcaption><p>Changing text color</p></figcaption></figure>

5. There are other formatting options available, such as bold, italic, underlined styles, and adding background colors.

<figure><img src="/files/kxpG8JqiigBkw5E6pFeO" alt=""><figcaption><p>Other formatting options</p></figcaption></figure>

6. The formatting is applied. You can also add a hyperlink to a document or a webpage by selecting the required text and clicking on the link icon.

<figure><img src="/files/RhwMjXbr0bqttYGnVSeL" alt=""><figcaption><p>Adding hyperlink in comment</p></figcaption></figure>

7. A pop-up opens where you can enter a link and click **Apply.**

<figure><img src="/files/ZdOSK0R9hPROBHYOKeFO" alt=""><figcaption><p>Applying the link</p></figcaption></figure>

8. The hyperlink gets added. Click **Post** to post the comment.

<figure><img src="/files/dVPlr12IlXc6k2YaEEo7" alt=""><figcaption><p>Click 'Post'</p></figcaption></figure>

9. The comment gets added. You can see a blue indicator on the top right corner of the cell. Hovering over it reveals the comment that has been added.

<figure><img src="/files/mjst9JAzHcBnL1E1dkkI" alt=""><figcaption><p>Comment added</p></figcaption></figure>

{% hint style="info" %}
Please note that the yellow indicator at the bottom right of a cell indicates the pending changes on the cell to be approved.
{% endhint %}

## **2. Edit a Comment**

To edit a comment, hover over the cell containing the comment and click on the pencil icon. You can then start editing the comment.

<figure><img src="/files/LjKWUn3ENiN9aBeBJmiq" alt=""><figcaption><p>Edit a comment</p></figcaption></figure>

## 3. Delete a Comment

To delete a comment thread, click on the bin icon.

<figure><img src="/files/wWL53JMj4e8YSDudPvYT" alt=""><figcaption><p>Delete a comment</p></figcaption></figure>

## **4.** Mention other users

You can use the @ symbol to tag other stakeholders and draw their attention​.

1. Click on a cell and then choose **Add a comment**. Type @ in the comment editor. You will see a list of the users in the workspace.

<figure><img src="/files/EhZYDbskPN2poq1BnBAl" alt=""><figcaption><p>Using @mentions</p></figcaption></figure>

2. Select the desired user, add the comment, and click **Post.**

<figure><img src="/files/7xZgBRCZlnlU12md9ULM" alt=""><figcaption><p>Mention other users</p></figcaption></figure>

3. The comment gets posted successfully.

<figure><img src="/files/WukFkQTksWWKO114cydD" alt=""><figcaption><p>Comment posted successfully</p></figcaption></figure>

## 5. Reply to a Comment

To reply to a comment, simply click on the comment and choose **Reply**. The comment reply gets added as a thread, and the number of replies is shown along with the comment.

<figure><img src="/files/OwZ1lKbV2I6lX6FoJyi3" alt=""><figcaption><p>Replying to a comment</p></figcaption></figure>

## **6. Comments Column**

You can add a dedicated comments column to capture row-level comments.

1. In the 'Comments' dropdown, turn the **Comments column** toggle on. The comments column gets added.

<figure><img src="/files/22CcoWa0YmYR762FL3Ng" alt=""><figcaption><p>Comments column</p></figcaption></figure>

2. Click on any cell in the comments column. The comment editor opens. Enter a comment and click **Post**.

<figure><img src="/files/bhgMR3Scf3q7zw8RRbtg" alt=""><figcaption><p>Entering a comment in the comments column</p></figcaption></figure>

3. The comment gets added as shown in the below image.

<figure><img src="/files/UQSUiw05rGZuFhfoPxTM" alt=""><figcaption><p>omment gets added</p></figcaption></figure>

4. To reply to a comment in the comments column, simply click on the comment and then select **Reply.**

<figure><img src="/files/vYbtsDoPe6csFA9uWzJm" alt=""><figcaption><p>Replying to a comment</p></figcaption></figure>

5. The number of replies is also shown along with the comment.

<figure><img src="/files/vlrMnfKSns87qHwdT6Zo" alt=""><figcaption><p>Comment along with number of replies</p></figcaption></figure>

6. To hide the comments column, turn off the toggle.

<figure><img src="/files/2u0v3YqpAX9vQjJoK9SA" alt=""><figcaption><p>Hide comments column</p></figcaption></figure>

## **7. Hide All Comments**

To hide comments temporarily, turn on the **Hide All Comments** toggle.

<figure><img src="/files/RNtrS51qGZMBGQ2IqIPG" alt=""><figcaption><p>Hide all comments</p></figcaption></figure>

## 8. Email Notifications

The ‘@user’ [mention](#id-4.-mention-other-users) in the comment automatically sends an email notification to the user with a link to the report so that the user can respond to this comment and update the data if required. Replies to the comments are also notified to the user instantly.

1. Email notifications on comment replies can be turned off. In the dropdown highlighted, click on **Profile Settings**. In the side panel, turn off the toggle.

<figure><img src="/files/BLNi4B2jeWYzQ8gPf3tI" alt=""><figcaption><p>Turn off email notifications on comment replies</p></figcaption></figure>

2. Email notifications for new replies or mentions can be turned off. In the **Settings** panel, uncheck the highlighted checkbox.

<figure><img src="/files/lt1ErTNcNUXGRCVige9f" alt=""><figcaption><p>Turn off email notifications for new reply and mention</p></figcaption></figure>

[This section](/commenting-and-collaboration/comment-settings) covers all of the other options in the comments settings panel in detail.

In the next section, we'll see how you can assign & track tasks.


# Assign users & task status

In this section, we’ll explore how to assign tasks to stakeholders and track their progress using the comments thread. Monitoring task status with terms like ‘Resolved', ‘Open', etc. ensures clear communication and efficient collaboration, especially when managing inputs from multiple stakeholders. You can achieve this with EDITable, which can help your team with accountability and improve workflow efficiency.

## 1. Assign tasks <a href="#id-1.-assign-tasks" id="id-1.-assign-tasks"></a>

1. Let's add a column-level comment and assign it as a task. Select a column and click on **Add a comment.**

<figure><img src="/files/SHg7w6MLJl1XRobVUOUg" alt=""><figcaption><p>Select column and add comment</p></figcaption></figure>

2. Enter a comment. Click on the 'Assign a user' dropdown.

<figure><img src="/files/XN8uQ3kRhTKSEZFiRnaF" alt=""><figcaption><p>Assign a user - option</p></figcaption></figure>

3. From the dropdown, select the desired user.

<figure><img src="/files/GWXFpzguEq11SNcdGtWu" alt=""><figcaption><p>Assigning a user</p></figcaption></figure>

4. After selecting the user, click **Post** to post the comment. The status is set to 'Open'.

<figure><img src="/files/OILzrTmE4h4lIHzovrA2" alt=""><figcaption><p>Post the comment</p></figcaption></figure>

5. The task gets assigned.

<figure><img src="/files/e2peJaGmL0W3QN4vz2Iu" alt=""><figcaption><p>Task gets assigned</p></figcaption></figure>

## 2. Task status <a href="#id-2.-task-status" id="id-2.-task-status"></a>

1. By default, on assigning a task, it is set to 'Open'. To change the task status, click on the 'three dots' and select **Resolve thread**.

<figure><img src="/files/ao5BpH8eaY8mttzDGuGS" alt=""><figcaption><p>Resolve thread</p></figcaption></figure>

2. The thread is marked as resolved, as shown below.

<figure><img src="/files/UWvFfuuEA9zAN3TsBU6q" alt=""><figcaption><p>Task set to resolved</p></figcaption></figure>

3. Resolved tasks can be reopened if required by clicking on the 'Undo' icon. Alternatively, replying to any resolved thread will automatically make it open again.

<figure><img src="/files/RNxYDYYnnvqErGmcHUDW" alt=""><figcaption><p>Reopening a resolved task</p></figcaption></figure>

4. Comments added in the comments column can also be assigned as tasks. Select a comment and assign it to a user.

<figure><img src="/files/uOLJrObh6nHmwY3hbojo" alt=""><figcaption><p>Assign tasks in the comments column</p></figcaption></figure>

5. By clicking on the arrow highlighted, you can expand/collapse the task status and assignee columns. Based on the selection in the comments editor, these columns get populated automatically.

<figure><img src="/files/dWeX8QipfQ4MnpBzx1yl" alt=""><figcaption><p>Click this arrow to expand</p></figcaption></figure>

6. The status and assignee can be viewed in the columns as below. These columns are available when you enable the comments column and add comments to it.

<figure><img src="/files/TgBjH7jXR80jAIEAS2fq" alt=""><figcaption><p>Task status and assignee columns</p></figcaption></figure>

In the next section, we'll cover how you can track task status and changes for all comments.


# View all comments & track changes

Tracking the report changes using an interactive, filterable, and comment-enabled audit log ensures data governance. Our audit log captures date, time, user details, task status, and other information. There is a separate comments log that shows who commented on a specific data point and when.

1. To view all comments and tasks, click on the 'Comments' dropdown and choose **View All Comments.**&#x20;

<figure><img src="/files/WAwHN61icRYdEgdyjAgf" alt=""><figcaption><p>View all comments</p></figcaption></figure>

2. The side panel categorizes comments at the header and cell levels. You can see all the details here, such as the header name or cell ID where the comment is added, the names of the assignor and assignee, task status, thread replies, timestamp when they were added, and so on.

<figure><img src="/files/fAor3dK1YXRx8ErAols9" alt=""><figcaption><p>Header and cell-level comments categorization</p></figcaption></figure>

3. Click on the required cell ID or the header name to locate the comment.

<figure><img src="/files/T9b06o3CKlOF6FrkG9NC" alt=""><figcaption><p>Locating the comment</p></figcaption></figure>

4. **Filter comments:** Comments and tasks can be filtered by assignee, assignor, status, and time period. Choose 'Resolved' to view all resolved threads, 'My threads' to view discussions started by you, or 'All' to view all threads. Use the 'Assigned to' dropdown to filter by assignee.

<figure><img src="/files/GaGSiE8sjIM2Vtsa1DqK" alt=""><figcaption><p>Filter your threads or filter by task status </p></figcaption></figure>

<figure><img src="/files/3yQ8gOC6byDJu1FEDqXJ" alt=""><figcaption><p>Filter by assignee</p></figcaption></figure>

5. **Filter by date:** By clicking on the highlighted 'Calendar' icon, you can filter comments and tasks based on a date range.

<figure><img src="/files/MDYeCN6T5pMp6nGUrgnU" alt=""><figcaption><p>Filter by date range</p></figcaption></figure>

6. **Edit/delete comment:** To edit the comment, click the pencil icon, and to delete it, click the bin icon.

<figure><img src="/files/Pv0g2dgrGG4U0eUkKD9b" alt=""><figcaption><p>Edit or delete the specific comment</p></figcaption></figure>

7. **Resolve/lock threads:** There are options for resolving or locking the thread, as shown below. A resolved thread signifies the completion of a task, while locked threads are closed to user edits and replies.

<figure><img src="/files/b8ZdNc5OLdXI1FExcgVW" alt=""><figcaption><p>Resolve thread and lock thread options</p></figcaption></figure>

8. **Re-open resolved task:** You can re-open a resolved thread by replying to it or by clicking on the **Re-open thread** icon.

<figure><img src="/files/Bho7mrGZjLa8mDSZYwAG" alt=""><figcaption><p>Re-opening a thread</p></figcaption></figure>

9. **Unlock thread:** To unlock a thread for editing or adding replies, click the icon shown below.

<figure><img src="/files/isU1QwSRTaxsaAOF7fwf" alt=""><figcaption><p>Unlock thread</p></figcaption></figure>

10. **Assign users:** You can also assign users from here.

<figure><img src="/files/U65SgtysrGt3EMxEtEMY" alt=""><figcaption><p>Assign users</p></figcaption></figure>

In the next section, we will look at the various comment settings.


# Comment Settings

Inforiver offers a variety of comment-related settings, including the ability to set up commentary access rules for users, lock/unlock threads, enable/disable notifications, and more.

1. Click on **Settings** in the 'Comments' dropdown.

<figure><img src="/files/AJN3yusIkrvsCZLHotz1" alt=""><figcaption><p>Commentary settings</p></figcaption></figure>

A side panel opens with a list of options as below.

<figure><img src="/files/GBWNuickz2B0kaUGCBCd" alt=""><figcaption><p>Options in comment settings</p></figcaption></figure>

Let's take a detailed look at these options.

## 1. Enable Comments

1. By default, comments are enabled. To disable commenting, uncheck the highlighted checkbox and click **Save**.

<figure><img src="/files/d85uT4yv3ynEdoaAfSh8" alt=""><figcaption><p>Disable comments</p></figcaption></figure>

2. You would no longer be able to add comments.

<figure><img src="/files/Rhp6SnWFcpb0dgJVE1qX" alt=""><figcaption><p>Add new comments options disabled</p></figcaption></figure>

## 2. Show Comments Panel

Check the highlighted checkbox to open the comments panel by default when you open the report.

<figure><img src="/files/yJflhSRXDKdwIZ3qrXZp" alt=""><figcaption><p>Show comments panel when opening the report</p></figcaption></figure>

## 3. Commentary Access

By default, all users within the domain can add comments. However, if you want only specific users to be able to comment, select the highlighted option. A new field gets enabled where you can add the users.

<figure><img src="/files/6qjUHRrpwIKaMHiRagIT" alt=""><figcaption><p>Commentary access to specific users within domain</p></figcaption></figure>

## 4. Lock/Unlock Threads

Locked threads cannot be edited, deleted, or replied to by any user. To do any of the above, the user must first unlock it. Using the option as shown below, you can allow only specific users to lock and unlock threads by specifying their email IDs.

<figure><img src="/files/qTifVV16UhVqtYUD0AZp" alt=""><figcaption><p>Access to lock/unlock threads</p></figcaption></figure>

## **5. Email notifications**

To disable email notifications for new mentions or replies, uncheck the highlighted checkbox in the **Settings** panel.

<figure><img src="/files/lt1ErTNcNUXGRCVige9f" alt=""><figcaption><p>Turn off email notifications for new reply and mention</p></figcaption></figure>

## 6. Report Name

You can modify the report name that appears in email notifications, as indicated below.

<figure><img src="/files/GNoSiPToYbIdj0ZxH8PB" alt=""><figcaption><p>Report name</p></figcaption></figure>

## 7. Delete all comments

To delete all comments in the report permanently, click on **Delete all comments**.&#x20;

<figure><img src="/files/JvuitdXU0rbjK4lgjqyk" alt=""><figcaption><p>Delete all comments</p></figcaption></figure>

## 8. Reset all settings

Changes made in the settings panel can be reset using the **Reset all settings** option.

<figure><img src="/files/PiEWl6JD9OnWDm4AQz6z" alt=""><figcaption><p>Reset all settings</p></figcaption></figure>


# Admin Portal & EDITable Console

The EDITable console along with the admin portal provides an intuitive, sleek, and user-friendly interface for creating and managing tables, view and export transaction logs, monitoring the metrics, managing users, and more.

1. The **EDITable console** has options to create and manage source tables, view and export transaction logs and metrics, manage your profile, and review/configure onboarding actions.

<figure><img src="/files/hmmjZWnljNAOKVTUcgoP" alt=""><figcaption><p>EDITable console</p></figcaption></figure>

2. The **Admin Portal** contains exclusive configuration options for workspace admins, such as user management and other important settings, including general settings and writeback settings.

<figure><img src="/files/pgdSAtC5NXyvAVTw9VcR" alt=""><figcaption><p>Admin Portal</p></figcaption></figure>

To navigate to the console, click on your profile and then select **EDITable Console.** Click **OK** in the confirmation pop-up.

<figure><img src="/files/YMk0Oe9vAMQ1sK7tAzWn" alt=""><figcaption><p>Open EDITable Console</p></figcaption></figure>

The console opens as below:

<figure><img src="/files/IO0tSE6YODei6eD5sD9I" alt=""><figcaption><p>EDITable Console</p></figcaption></figure>

It has the following menus and functions:

**Tables** - The 'Tables' menu displays a list of all tables configured in the EDITable visual. Selecting any table on the left pane displays its configuration and connection details, as well as the transaction logs and reports. You can also create a new table or import an existing table from this window. To learn more about the tables menu, click [here](/admin-portal-and-editable-console/tables).&#x20;

**Transaction Logs** - This option displays all types of transactions made on all the configured source tables by all users. To know more, click [here](/admin-portal-and-editable-console/transaction-logs).

**Insights/Metrics** - This option lets you view the ongoing, completed, queued, and failed jobs. You can also monitor the general health of the queueing system, email services, Power BI availability and cloud storage connectivity. To know more, click [here](/admin-portal-and-editable-console/insights-metrics).

**Utility (Download Report)** -  This option can be used to download one or more tables in a single pbix report in a paginated format. This is explained [here](/admin-portal-and-editable-console/utility/download-report).

**Manage Profile** - The 'My Profile' section in the EDITable console allows you to view and manage your profile, integrations, writeback connections, and license details. Refer to [this page](/admin-portal-and-editable-console/manage-profile) to learn more.

**Onboarding Actions** - This option opens a pop-up window that contains a list of onboarding actions like user management, application permissions, consents, and configurations of database connections for writeback/sync. Click [here ](/admin-portal-and-editable-console/onboarding-actions)to learn more.

**User Management** - This option available within the admin portal allows you to manage users and assign their roles. To know more, click [here](/admin-portal-and-editable-console/admin-portal/user-management).

**Settings** - This option lets the admin configure the general and writeback-related settings. Click [here](/admin-portal-and-editable-console/admin-portal/settings) to know how.


# Tables

This section displays a list of tables configured in the EDITable visual on the left pane and their corresponding configuration details on the right side when clicked on each one of them.

<figure><img src="/files/MOo5arCvOly3lE18cJ5W" alt=""><figcaption><p>Tables</p></figcaption></figure>

Use the search box to quickly search for the required table.

<figure><img src="/files/Ojo2S7CHdf0jLDpHMeaZ" alt=""><figcaption><p>Search table</p></figcaption></figure>

Upon selecting a specific table, the user can view three main items corresponding to that table: general details, approvals, and transaction logs.

<figure><img src="/files/EgDAF7TtNsPZxuAtskg8" alt=""><figcaption><p>Table details</p></figcaption></figure>

## **1. General**

This page shows the column and connection details of the table.

<figure><img src="/files/gFq3nM2RaM4LyTqyMYG2" alt=""><figcaption><p>General tab</p></figcaption></figure>

* **Column Details**: This section contains information about the columns in the table, such as column names, their data type, default values if they are configured, null/not-null property, any set constraints, relation, etc.
* **Connection Details:** The following connection details can be seen from this section:
  * **Connection Type**: The type of connection (e.g., Fabric Warehouse, Azure SQL, Snowflake, BigQuery, etc.).
  * **Account**: Account information associated with the table.
  * **Username**: The user who created or manages the table.
  * **Created At**: Timestamp of when the table was created.
  * **Updated At**: Timestamp of the most recent update to the table.
  * **Updated By**: The user who last updated the table.
* **Reports**: This part lists all published reports that use this connection and table, with their URL.

## **2. Approvals**

This page lists all approvals related to transactions involving the particular table. Here, you can track each approval's status and complete details of the request, such as the ID, requested user, approvers, created time, and reviewed time.

<figure><img src="/files/73FKjZGFQzxysN1KVkVx" alt=""><figcaption><p>Approvals</p></figcaption></figure>

**Search:** You can search for specific approval requests using the search option.

**Filter:** You also have the option to filter approvals based on the requested user, status, approver, requested time, and reviewed time.

Download or delete the report by clicking on the options **Download Report** and **Delete Report** respectively.

## **3. Transaction Logs**

This tab logs all transactions made to the selected table and provides a historical record of changes for auditing and tracking purposes. You can view the complete details of every transaction, including the job ID, transaction type, number of rows affected, duration, status, the user’s name, and the time it was completed.

<figure><img src="/files/ITnH49Cpb0yrCUgz1VZN" alt=""><figcaption><p>Transaction logs</p></figcaption></figure>

1. Search for a transaction using the search option.
2. Filter transactions using the ID, transaction type, user's name, status, start time and the job type.
3. Download or delete the report by clicking on the options **Download Report** and **Delete Report** respectively.
4. Click on any job ID to view detailed information about the transaction and the milestones with their respective duration and timestamps as below:

<figure><img src="/files/ydWbvEyHnK8LTcAUThPp" alt=""><figcaption><p>job details </p></figcaption></figure>

## 4. Download Report

Use the **Download Report** option to download the PBIX report of the created table.&#x20;

<figure><img src="/files/HpOF9jgKWUmiBovtnJKN" alt=""><figcaption><p>Download Report</p></figcaption></figure>

## 5. Delete Report

To delete the report, use the **Delete Report** option.&#x20;

{% hint style="danger" %}
This will delete the table configuration from the associated EDITable visuals, and you'll have to reconfigure them from scratch. Click **Proceed** only if you are sure.
{% endhint %}

<figure><img src="/files/oQzWUMGJewTdr1Rj3UPx" alt=""><figcaption><p>Delete Report</p></figcaption></figure>


# Transaction Logs

The Transaction Logs section provides comprehensive details about all transactions made to the tables. This feature is crucial for auditing, tracking changes, and ensuring data integrity.

## 1. Transaction details

The transaction details include the following:

<figure><img src="/files/xH3CrCPsTmB2mgSg2fry" alt=""><figcaption><p>Transaction logs</p></figcaption></figure>

* **Transaction ID**: Unique identifier for each transaction.
* **Table Name**: Name of the table involved in the transaction.
* **Database Name**: Name of the database where the table resides.
* **Source Name**: Name of the data source (Azure SQL, Snowflake, etc.)
* **Transaction Type**: Type of transaction, which can be **Insert, Update, Delete or SCD Update** (Slowly Changing Dimension Update)
* **Row Count**: Number of rows affected by the transaction.
* **Duration**: Time taken to complete the transaction.
* **Status:** The transaction's status, whether successful or failed.
* **Started By:** Name of the user who started the transaction
* **Started At:** Date and time of the transaction.

## 2. Search and filter transactions

Users can look for a specific transaction using the search and filter options available here.

* **Search by Transaction ID**: Search for specific transactions using their unique Transaction ID.

<figure><img src="/files/LCskrp9MjZEV05tbzJ43" alt=""><figcaption><p>Search by Transaction ID</p></figcaption></figure>

* **Filter by Transaction Type**: Filter transactions by their type (Insert, Update, Delete, SCD Update, SCD Delete).

<figure><img src="/files/MDRCpWY9NFTInp9x8swf" alt=""><figcaption><p>Filter by transaction type</p></figcaption></figure>

* **Filter by User (Account Name):** Filter transactions based on who initiated them.

<figure><img src="/files/dbUfpGkPCKLsMbl5v2gY" alt=""><figcaption><p>Filter by user</p></figcaption></figure>

* **Filter by Table Name:** Filter transactions based on the table name where they were performed.

<figure><img src="/files/2B2xo2DBbfc11sSlQt52" alt=""><figcaption><p>Filter by table</p></figcaption></figure>

* **Filter by Source Name**: Filter transactions based on the data source.

<figure><img src="/files/6yew61PvQMkX3mQMuL0E" alt=""><figcaption><p>Filter by data source</p></figcaption></figure>

* **Status:** Filter transactions based on their status (success or failure). You'll find this under the 'More' option.

<figure><img src="/files/rZrzJxBK4bNrFcHgIwNG" alt=""><figcaption><p>Filter by status</p></figcaption></figure>

Under the 'More' option, you'll have two more filters, as below:

* **Start time:** Filter transactions within a specific date range.

<figure><img src="/files/Vqge9mvIxQxmrptAQEP0" alt=""><figcaption><p>Filter by date range</p></figcaption></figure>

* **Job Type:** Filter transactions by job type, whether they are direct transactions or have gone through an approval flow.

<figure><img src="/files/xiKAR5hVI5ZCxuWwz0bS" alt=""><figcaption><p>Filter by job type</p></figcaption></figure>

**Remove Filter:** To remove a specific filter, select the 'Clear' option from the relevant selection dropdowns. To clear all filters, select the **Reset All** option.

## 3. Export transaction Logs

You can export and download the transaction logs to an Excel or CSV file.

1. Click on the **Export** option.

<figure><img src="/files/5H1HBk0U7SoXmyGlhATf" alt=""><figcaption><p>Export</p></figcaption></figure>

2. Choose the file type you want to export and the logs' date range.

<figure><img src="/files/0vhkrbilTFhfA9VldB0G" alt=""><figcaption><p>File type and date range</p></figcaption></figure>

3. Click on **Export** and then **Download** to download the file.

<figure><img src="/files/wV8GcXxF84MVckh4dHPq" alt=""><figcaption><p>Export and download</p></figcaption></figure>

## **4. General details**

When you click on a specific transaction/job, you will be taken to a page with detailed information about the transaction, as shown below.

<figure><img src="/files/eHYHZ1FIrJLQNoP2wFn5" alt=""><figcaption><p>General information</p></figcaption></figure>

You'll also be able to view the completed milestones in the transaction.

**Milestone:** A milestone represents the stages of the job's progress. It is divided into levels, with each level giving the user a clear indication of the job's advancement. Within each level, there are multiple events or sub-milestones.

**Sub-milestones:** These are a collection of smaller activities or tasks that, when completed, help to achieve an individual milestone. The sub-milestones help to break down larger milestones into more manageable steps, allowing for more detailed progress tracking while still contributing to the overall goal.&#x20;

Let's take an example where we track the status and progress of the initiated transaction.

<figure><img src="/files/FQJ9e1bkmahm10Rjbatb" alt=""><figcaption><p>Milestones and events</p></figcaption></figure>

In case of failed transactions, the above details help in understanding in which stage the issue actually occurred.

## 5. Error details

For failed jobs, an additional tab called 'Error Details' becomes available. This section includes information about the errors that occurred during the job run.

<figure><img src="/files/Fenk5DZy9E1MqjRMRFAQ" alt=""><figcaption><p>Error Details</p></figcaption></figure>

This page has search and filter capabilities similar to any log, allowing you to find and filter specific error details.

<figure><img src="/files/YrGjt2lUmVotM2yxaWhf" alt=""><figcaption><p>Search and filter errors</p></figcaption></figure>

You can copy the error message using the one-click copy option or download the error log by clicking **Download Logs.**&#x20;

<figure><img src="/files/Voc52o048oCZlZtADMle" alt=""><figcaption><p>Download log or copy error message</p></figcaption></figure>


# Insights (Metrics)

This section provides users with insights into the status of EDITable jobs and the health of various internal services.

<figure><img src="/files/9UjEeh94teI85QsPesEf" alt=""><figcaption><p>Insights/Metrics</p></figcaption></figure>

## **1. Jobs' Status**

Users can view the status of various jobs:

* **Completed Jobs:** The number of jobs that were successfully completed.
* **Queued Jobs:** The number of jobs that are currently in the queue waiting to be processed.
* **Running Jobs:** The number of jobs that are currently in process.
* **Failed Jobs:** The number of jobs that have not been completed successfully.

Using the highlighted dropdown, you can view these details for the current day, the previous week, or the month.

<figure><img src="/files/v5tKKuPjlTyzIPd2bOGb" alt=""><figcaption><p>Status of jobs</p></figcaption></figure>

## 2. Components

Users can monitor the current health and availability of critical internal services. This includes:

* **Queue Health:**
  * This indicates the status of the internal service queue, including metrics such as queue length and processing times.
* **Email Service**:
  * This includes the status and health of the email service, such as email delivery rate metrics and any associated issues.
* **Power BI Availability**:
  * This shows the current availability and status of Power BI integration, including uptime and response times.
* **Storage Account Connectivity**:
  * This shows the status of connectivity to storage accounts, including metrics on connection stability and any issues encountered.


# Utility

This section has the following utility options:

* Download report
* Pipeline deployment

[**Download Report:**](/admin-portal-and-editable-console/utility/download-report) This page lets you download PBIX reports of one or more tables from the chosen destination.

[**Pipeline**](/admin-portal-and-editable-console/utility/pipeline)**:** Use EDITable's pipelines along with Power BI deployment pipelines to develop and test EDITable visuals in stages before releasing them to end users. Column configurations, Slowly Changing Dimensions (SCDs), and row identification will be replicated across environments. These settings are retained even if the reports are deployed to different data destinations.

In the following sections, we will look at these in detail.


# Download Report

This tab allows users to download pbix reports for one or more tables from a data source. You can then use EDITable to edit and manage these source tables from Power BI.

When multiple tables are selected, they will be added to individual pages in the report. Note that 'Display-only' columns will not be included in the downloaded report.

1. Enter a name for the pbix report of the tables before downloading it.

<figure><img src="/files/bm9bcFODUFIxFlbOgpRI" alt=""><figcaption><p>Report name</p></figcaption></figure>

2. Select the required database connection from the list of connections available.

<figure><img src="/files/ZehpppX400rtpzOip3Tu" alt=""><figcaption><p>Select connection</p></figcaption></figure>

3. Select the tables you want to download.

<figure><img src="/files/zxvOlhPfAkWtlUlWdCy1" alt=""><figcaption><p>Select tables</p></figcaption></figure>

4. Click **Download.**

<figure><img src="/files/4sdcuutrk6OAMZB148mo" alt=""><figcaption><p>Download</p></figcaption></figure>

5. The downloaded report appears as below. You can now add the EDITable visual, assign the fields, and complete the configuration.

<figure><img src="/files/IwWq4mbb7MYDiYai7osV" alt=""><figcaption><p>Downloaded report</p></figcaption></figure>


# Pipeline

Let's explore how EDITable reports can be deployed using PowerBI and EDITable deployment pipelines. Pipelines are useful when you need to deploy EDITable visuals in stages across different environments, such as development, testing, and production.

## **1. Power BI Deployment Pipelines**

PowerBI deployment pipelines enable creators to develop and test Power BI content in the Power BI service before the content is shared with end users. The tool is designed as a pipeline with multiple stages, for example, development, test, QA, and production. [Read more on PowerBI Deployment Pipelines.](https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/intro-to-deployment-pipelines?tabs=new-ui)

## 2. EDITable Deployment Pipelines

EDITable's deployment pipelines work alongside Power BI pipelines, allowing you to deploy EDITable reports in stages.

With EDITable's deployment pipelines, you can:

* Maintain streamlined version control for EDITable reports.
* Ensure the report's column configurations, SCDs, and row identification are preserved across different environments.
* Deploy your EDITable reports (and thus the tables) from one data destination to another while retaining their configurations.
* Avoid duplicate visuals that often occur when manually deploying a visual from one workspace to another.
* Trigger report deployments from external applications using an API endpoint.

We will now look at the steps to deploy an EDITable visual across different environments and demonstrate the capabilities in the following sections.

## 3. Pipeline FAQs

1. Why do I need to deploy an editable pipeline? Aren't Power BI deployment pipelines sufficient?

Power BI pipelines ensure that your deployed reports carry all formatting additions and visual updates to the next stages. Using EDITable pipelines guarantees that your EDITable visuals are deployed along with any column configuration updates, SCDs, and row identifications.

2. What are duplicate visuals? How does deploying an EDITable pipeline avoid them?

Duplicate visuals share the same visual IDs. The visual ID of an EDITable visual can be obtained by clicking on the EDITable logo as shown below:

<figure><img src="/files/SeEQXmnJJZgHj4jr3038" alt=""><figcaption><p>Visual ID</p></figcaption></figure>

* When you manually copy the report from one workspace to another, say from 'Dev' to 'Test', the visuals are duplicated.&#x20;
* Duplicate visuals use the same backend cache. Changes made to one visual will have an effect on both. To achieve optimal version control and production deployment, it is necessary to detach the visuals and remove their dependencies.
* When you use pipelines to deploy the visuals, they are detached from one another.&#x20;
* The deployed visual in the new environment gets a new and unique visual ID, and all other formatting, configurations, etc. are carried forward.

3. Can I deploy the visual to a different data destination during the testing, QA, or production stages?&#x20;

EDITable pipeline allows you to select your preferred data destination to deploy your visual at any stage. Initially, create EDITable visuals in the required destinations under the same schema with the same table and column names, and then use deployment pipelines to move the updates and additions across stages.


# Power BI & EDITable deployment pipelines

We will now create a pipeline in both Power BI and EDITable, and walk through the entire deployment process from beginning to end.

In this section, we will deploy the report in stages that use the same destination. This can be useful when you want to maintain version control for your EDITable visuals before sharing the final version of your content with business users across the organization.

## 1. Set up PowerBI deployment pipeline <a href="#id-1.-setup-inforiver-with-powerbi-deployment-pipelines" id="id-1.-setup-inforiver-with-powerbi-deployment-pipelines"></a>

The first step is to set up a Power BI pipeline. You can refer to [this page](https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/get-started-with-deployment-pipelines?tabs=from-fabric%2Cnew-ui) to get started.

1. After creating a pipeline, you can assign workspaces to each stage, i.e., the Development/Test/Production stages of the deployment pipeline. [Learn more about assigning workspaces](https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/assign-pipeline).

<figure><img src="/files/Ikdti5WCThhZLhkTfWRR" alt=""><figcaption><p>Assign workspaces</p></figcaption></figure>

2. Let us assume you have a Power BI report with an EDITABLE visual that you want to deploy in stages. Publish it to the workspace mapped to the first stage (development) of the pipeline.

For this demonstration, we have created a report named 'EmployeeDetails' and uploaded it under the **Inforiver - Pipeline - Dev** workspace.

<figure><img src="/files/0CaIw7iOn9GK9dNPW9SP" alt=""><figcaption><p>Publish to the Development stage</p></figcaption></figure>

### 1.1. Deploy report to the next stage

1. Go to the **Deployment Pipelines** tab and select the required pipeline that you created in step 1.

<figure><img src="/files/vvQwadgYPTYMQIjKZQS2" alt=""><figcaption><p>Deployment pipeline</p></figcaption></figure>

2. From the first stage, select the report and its corresponding semantic model to be deployed to the test environment and click **Deploy**. [Learn more about deploying reports.](https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/deploy-content)

<figure><img src="/files/g1qcTaRhjZSA835BmFLL" alt=""><figcaption><p>Select items for deployment</p></figcaption></figure>

3. Review the items that are being deployed and click on the **Deploy** button.

<figure><img src="/files/zbJNZnXbJBHUFWcMVTv2" alt=""><figcaption><p>Start deployment</p></figcaption></figure>

4. After the deployment is complete, you will be able to see the report and the semantic model in the next stage. In this case, it is the **Inforiver - Pipeline - Test** workspace.

<figure><img src="/files/p7RccWgcqj84v0vyePVd" alt=""><figcaption><p>Deployed to 'Test' workspace</p></figcaption></figure>

5. Similarly, after the testing stage, you can deploy the report and its semantic model to the production environment by repeating the above steps.

<figure><img src="/files/irV68i2ACvk1ymjxbco8" alt=""><figcaption><p>Deploy to next stage</p></figcaption></figure>

<figure><img src="/files/4NbjoBybBcbevLQrOO3g" alt=""><figcaption><p>Deployed to production</p></figcaption></figure>

{% hint style="info" %}
When deploying reports, please ensure to deploy their corresponding semantic models.
{% endhint %}

## 2. Set up EDITable deployment Pipeline

1. In the EDITable workspace, go to **Utility > Pipeline.** Click on **Add Pipeline.**

<figure><img src="/files/XJA63hplFvNpAbfOWDKZ" alt=""><figcaption><p>Add Pipeline</p></figcaption></figure>

2. Click on **Add Stage** and you can start adding the required stages — **Dev, Test** and **Prod**.

<figure><img src="/files/jiq8DWEsC67w4XXnhPmA" alt=""><figcaption><p>Add stages</p></figcaption></figure>

### 2.1. Add report to pipeline

1. Click on **Add Report.**

<figure><img src="/files/NW4S3veWObCGFrtqJJW2" alt=""><figcaption><p>Add Report</p></figcaption></figure>

2. A pop-up appears as shown below, based on the number of stages created.

<figure><img src="/files/iLih6Gp7XvJixvxOgwSp" alt="" width="563"><figcaption><p>Add report IDs</p></figcaption></figure>

3. The report IDs can be copied from the address bar of the respective workspaces. The image below illustrates how the report ID can be obtained from the report in the 'Dev' workspace.

<figure><img src="/files/Q9xIDAfZiGwFBhzTF2K3" alt=""><figcaption><p>Dev Report ID </p></figcaption></figure>

4. Similarly, enter the report IDs for each workspace report. Click **Next.**

<figure><img src="/files/lxraYUngyRRrQ1MTHR43" alt=""><figcaption><p>Enter report IDs for all the 3 workspaces</p></figcaption></figure>

5. A pop-up window appears, displaying a list of all EDITABLE visuals (tables) included in the selected report.

Our report contains only one visual/table, 'EmployeeDetails'. Click **Add** to add this report and create an EDITable pipeline.&#x20;

<figure><img src="/files/aOQsF4mvB5hHXXiTNzbt" alt=""><figcaption><p>Add report to the EDITable pipeline stages</p></figcaption></figure>

**Note:** In this example, we have deployed the reports to the same destination (Azure SQL) for simplicity. The [next section](/admin-portal-and-editable-console/utility/pipeline/deployment-in-different-destinations) will explain how to configure different deployment destinations.

<figure><img src="/files/R2S6Vy1eycae2CkkrJGi" alt=""><figcaption><p>EDITable pipeline for a report</p></figcaption></figure>

A report may also contain multiple tables/visuals, one on each page, that can be added to or removed from a pipeline during deployment. You can refer to the image below, where the report has multiple EDITable visuals.

<figure><img src="/files/9Vqaokh4q6lFVSbQNmWZ" alt=""><figcaption><p>Report with multiple tables/visuals</p></figcaption></figure>

### 2.2. Deploy report to the next stage

1. To deploy a report from one stage to another, such as 'Dev' to 'Test' or 'Test' to 'Prod', click the **Deploy** button next to the report you want to deploy.

<figure><img src="/files/76lWz5T6ApisLJCgVuxN" alt=""><figcaption><p>Deploy a report</p></figcaption></figure>

2. Select the next stage for deploying the visual from the dropdown menu.

<figure><img src="/files/so3Yz2uUdLStrT2eKeK5" alt=""><figcaption><p>Choose stage to deploy</p></figcaption></figure>

3. Click **Deploy.**

<figure><img src="/files/U1aphCzcC3S3r3W42JG4" alt=""><figcaption><p>Deploy</p></figcaption></figure>

4. The report is now deployed from 'Dev' to 'Test' stage. Similarly, after testing, you can deploy the report from the 'Test' to the 'Prod' stage by repeating the above steps.

In the next section, we will look at the steps to deploy the report in stages that use different destinations.


# Deployment in different destinations

This section explains the configuration steps to deploy a report across stages that use different destinations.&#x20;

Consider an EDITABLE visual available in the Azure SQL database in the 'Dev' stage. For demonstration purposes, let's assume we need to deploy the report to the Fabric Warehouse and Fabric SQL databases for the 'Test' and 'Prod' stages, respectively.

This can be accomplished by following the steps below:

1. **Create EDITable reports:** Create EDITable visuals that you want to deploy in these data destinations. Ensure to create them under the same schema with the same table name and column names.
2. **Deploy the report in the Power BI pipeline:** Deploy the report and its corresponding semantic model from 'Dev' to 'Test' and 'Test' to 'Prod' in the Power BI pipeline initially.&#x20;
3. **Configure deployment rules:** Configure the **data source deployment rules** for your semantic model in the Power BI pipeline.
4. **Add report:** Add the report in the EDITable pipeline.
5. **Configure destinations:** Configure the required deployment destinations in the EDITable pipeline.
6. **Deploy the report in the EDITable pipeline:** Deploy the report using EDITable pipeline to update the report as it progresses.

## 1. Create EDITable reports

The first step is to create the reports in the required destinations. Here, we'll create in the Fabric Warehouse and Fabric SQL destinations. You can refer to [this section](/getting-data-into-editable/create-a-table) for the steps to create them.&#x20;

**Creating a table in Fabric Warehouse:**

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

**Creating a table in Fabric SQL:**

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

The images below show the tables created at different destinations. You can notice that they are under the same schema and have the same table name and columns.

<figure><img src="/files/2L0AqmWYga8SkCNPfKBB" alt=""><figcaption><p>Creating tables in different destinations</p></figcaption></figure>

## 2. **Deploy the report in the Power BI pipeline**

Deploy the report and its corresponding semantic model from 'Dev' to 'Test' and 'Test' to 'Prod' in the Power BI pipeline, by clicking **Deploy** across stages.

<figure><img src="/files/4NbjoBybBcbevLQrOO3g" alt=""><figcaption><p>Deploy the report</p></figcaption></figure>

In the next step, we will configure the data sources for each stage by configuring deployment rules.&#x20;

## 3. Configure deployment rules

Next, we will be defining data source rules for our semantic model (*EmployeeDetails*) to point to the different databases instead of the one in the 'Dev' stage. The rule is defined in the testing and production stages under the appropriate semantic model. Once the rule is defined, content deployed from development to test and test to production inherits the value as defined in the deployment rule. [Learn more about configuring deployment rules here.](https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/create-rules?tabs=new-ui)

<figure><img src="/files/E162V1eO2N7v7pqlCqyk" alt=""><figcaption><p>Data source rules for the 'Test' stage</p></figcaption></figure>

Please note that these deployment rules only take effect the next time you deploy to that stage. Deploy the report once to update the available connections.

<figure><img src="/files/LLxmEGZiUxImeD4uCd3A" alt=""><figcaption><p>Data source rules for the 'Prod' stage</p></figcaption></figure>

## 4. Add report

Now add this report to the EDITable pipeline by following the steps explained here: [Add Report](https://docs.editable.io/admin-portal-and-editable-console/utility/pipeline/pages/0fcssoty2hUDYrKfguhB#id-2.1.-add-report-to-pipeline).

## 5. Configure destinations

Now, let us configure the report and their respective destinations in the 'Test' and 'Prod' stages. To do so, edit the pipeline using the pencil icon as highlighted below.

<figure><img src="/files/vvdfmOEzTfV8z86trJoY" alt=""><figcaption><p>Edit pipeline stages</p></figcaption></figure>

Select the required connections from the drop-down list, then select the table 'EmployeeDetails', which we have [already created](#id-1.-create-editable-reports). Click **Update.**

<figure><img src="/files/euY1IJbIRMz6Kn9XtMtT" alt=""><figcaption><p>Configure destinations</p></figcaption></figure>

## **6. Deploy the report in the EDITable pipeline**

Click **Deploy** to deploy the report from 'Dev' to 'Test' and from 'Test' to 'Prod' stages. The test and production stages now point to the configured destinations.

<figure><img src="/files/iSr750kmsVtHFKXZTSJ8" alt=""><figcaption><p>Deploy report in EDItable pipeline</p></figcaption></figure>

You can now use this pipeline to deploy report changes in stages to the appropriate databases.

In the following section, we will look at other pipeline options as well as how to trigger deployment from external applications via an API endpoint.


# Trigger deployment pipeline from external applications

EDITable lets you trigger pipeline deployments from external applications using an API endpoint.&#x20;

1. The first step is to create an API token. You can refer to [this section](/admin-portal-and-editable-console/admin-portal/settings/api-token) to learn more.
2. Copy this page link and the pipeline ID that you want to deploy.

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

3. You can trigger this deployment pipeline using the pipeline ID, and the generated [API token](/admin-portal-and-editable-console/admin-portal/settings/api-token) can be used for authorization. The image below demonstrates this using the Postman application.

<figure><img src="/files/fRcBiFKmFSgZVUhXpOXE" alt=""><figcaption><p>Triggering pipeline deployment </p></figcaption></figure>


# Logs & other pipeline options

This section explains the configuration options and the logs screen available in the pipeline configuration window.

## 1. Sync report

Clicking the 'sync' icon refreshes and syncs the report, ensuring the newly added visuals are included, if any.

<figure><img src="/files/FQj6OTNzJELQlwo31I5Q" alt=""><figcaption><p>Sync report</p></figcaption></figure>

## 2. Edit report

You can edit a report pipeline by clicking on the pencil icon, as shown below.

<figure><img src="/files/TZlX7UCU7KBCMlbtCEz9" alt=""><figcaption><p>Edit report pipeline</p></figcaption></figure>

### 2.1. Edit destination mapping

To change the stage destinations, use the dropdowns and select the required data source and table for each stage. Click **Update.**

<figure><img src="/files/TlvHQM0pc4hbWdA4demK" alt=""><figcaption><p>Edit destination</p></figcaption></figure>

### 2.2. Add/remove visuals from deployment

When deploying a report, you can choose to include or exclude any visuals by enabling or disabling the '**Add To Pipeline**' toggle button. Then, click **Update.**

<figure><img src="/files/uZJ9CX09gJQd8JGeP6J3" alt=""><figcaption><p>Add to or remove from pipeline</p></figcaption></figure>

## **3. Delete report from pipeline**

Use the bin icon to delete the report from the pipeline.&#x20;

<figure><img src="/files/yC1jzAg8A69DG4A2pD4e" alt=""><figcaption><p>Delete report from pipeline</p></figcaption></figure>

## 4. Logs

Switch to the **Logs** tab to view the list of pipelines deployed by all workspace users.

<figure><img src="/files/QlVjcVqFspGHdtGfwQvO" alt=""><figcaption><p>Logs</p></figcaption></figure>

You can use the search box to find specific logs by ID. You can also filter the logs based on the 'from' or 'to' stages, deployment status, and the person who deployed the pipeline.

<figure><img src="/files/pzbxug7XxI7kX32CFazM" alt=""><figcaption><p>Search and filter deployment logs</p></figcaption></figure>

Click **Reset All** to reset all applied filters.


# Manage Profile

The 'My Profile' section in the EDITable console allows you to view and manage your integrations, database connections, and license details.

<figure><img src="/files/5TqebhJ1uglYNaGGmcYV" alt=""><figcaption><p>'My Profile' section</p></figcaption></figure>

## **1. Rename Workspace** <a href="#id-1.-rename-workspace" id="id-1.-rename-workspace"></a>

Click on My Profile -> Rename Workspace to rename the workspace.

<figure><img src="/files/RTYLubbwQfn1WnFZS6Xh" alt=""><figcaption><p>Rename Workspace</p></figcaption></figure>

## 2. Manage Integrations <a href="#id-2.-manage-integrations" id="id-2.-manage-integrations"></a>

Integrating EDITable with other applications allows it to fetch as well as upload files to them. You can connect or disconnect the applications from 'My Integrations' page. You can also manage them from the Onboarding actions page, under 'Consents' section, by clicking on **Configure** beside the required application.

If there are any interruptions in writeback or data retrieval from these applications, you can check the status of the connection from this page and disconnect and reconnect as needed.

<figure><img src="/files/oR0fGvESnFzFOLEVYJih" alt=""><figcaption><p>My Integrations</p></figcaption></figure>

## 3. Manage Connections <a href="#id-3.-manage-connections" id="id-3.-manage-connections"></a>

Clicking on 'My Connections' displays a list of database connections you have created. To know more about adding new connections, please refer to [this section](https://docs.editable.io/admin-portal-and-editable-console/pages/Aizh7RmTKhInf2j1E9Bt#id-1.-configure-source). You can edit or delete your added connections using the icons highlighted below.

<figure><img src="/files/yWODjrWqgRnZR3bulqv0" alt=""><figcaption><p>My Connections</p></figcaption></figure>

The image above shows that the EDITable visual has sources configured from two database connections - Azure SQL and Snowflake.

## 4. License Details <a href="#id-4.-license-details" id="id-4.-license-details"></a>

Click on My Profile -> License Details to view the plan and license details for all purchased products as below.

<figure><img src="/files/C9mNFpUZijZzBdi1enKT" alt=""><figcaption><p>License Details</p></figcaption></figure>

## 5. Log Out <a href="#id-5.-log-out" id="id-5.-log-out"></a>

Click **Logout** to log out from the workspace.


# Admin Portal

We will now explore options and capabilities that are specific to the EDITable workspace admin. The admin portal has the following tabs:

* [User Management:](/admin-portal-and-editable-console/admin-portal/user-management) As an admin, you can configure user roles and workspace permissions and manage the user details from this page.&#x20;
* [Settings:](/admin-portal-and-editable-console/admin-portal/settings) In this page, you can configure the admin writeback connections, EDITable managed DB, usage of assets, and other settings.
* [Onboarding actions:](/admin-portal-and-editable-console/onboarding-actions) In this menu, you can review and manage users' details, configure the consents, and writeback/sync settings.

Let us look at all of them in detail in the upcoming sections.


# User Management

The user management tab allows you to manage all users and members of your team/organization from a single, easy-to-use dashboard. You can add or remove users, assign user roles, and grant them associated permissions.

In addition to default roles, admins can create custom roles and policies to grant users specific permissions for selected features in Inforiver reports.

## 1. Overview

This page displays a list of all users in the team. The right side of the page displays a summary of the selected user. By default, your name would be displayed as the first member in the list.

{% hint style="info" %}
The user management feature is available only for the workspace admins within the admin portal.
{% endhint %}

The main page displays all users with the following columns:

* **Username**: The username of the user.
* **Products:** The list of product workspaces to which the user has access.
* **Added At**: The date and time the user was added.
* **Last Login**: The time when the user last logged in.

<figure><img src="/files/6YNgGNLxxKAW1U6B5c69" alt=""><figcaption><p>User management page</p></figcaption></figure>

## 2. User Details Panel

When you select a user from the list, their detailed information appears on the right side of the panel. This includes:

* **Email** - The email ID of the user.
* **Added by** - The name of the member who added this user.
* **Added at** - The date and the time when the user was added.
* **Last login** - The date and the time when the user last logged in to the console.
* **Product Access -** This section displays the user's role (and the access policy) in each of the products. Admins can update the user roles of members by choosing an option from the dropdown list.
* **Session:** This section displays all active user sessions, along with device information and creation time.

{% hint style="info" %}
You can add only the maximum limit of users configured for the tenant.
{% endhint %}

## 3. Search & Sort Users

This window has options to search, sort, and filter the user list.

1. **Search user-** In the search bar, you can type any input, and the user list will get dynamically filtered based on the entered input. Click 'x' to remove all the entered input.

<figure><img src="/files/RP7VcnLNaMmKSHOvI8w7" alt=""><figcaption><p>Search User</p></figcaption></figure>

2. **Filter users-** You can filter the users based on their roles and the product workspaces they can access. By default, all members for all products are displayed. You can choose to display specific users based on their role, such as users with the 'Admin' role or users with the 'Contributor' role. You can also filter based on their product access, such as users with access to Inforiver or EDITable.

<figure><img src="/files/T062LdegR1sSLH3YXMpz" alt=""><figcaption><p>Filter by role/product access</p></figcaption></figure>

3. **Sort users-** The Sort drop-down menu allows you to sort users by their names, last login time, or added time. By default, the user list will be sorted from the latest to the oldest, by their added time.

To sort the list by name or last login time, select the appropriate option from the drop-down menu. You can reverse the sorting order by clicking on the sort arrow adjacent to this menu.

<figure><img src="/files/AIx6b9v6cldX6uQF0Ogr" alt=""><figcaption><p>Sort users</p></figcaption></figure>

If the sort arrow is pointing up, the list is sorted in ascending order for the chosen filter in the drop-down. If the sort arrow is pointing down, the list is sorted in descending order. You can toggle the order by clicking on the arrow.

You can also use the sorting arrows beside the corresponding header to sort the user list as required.

## 4. Add a Member

1. Click 'Add Member' to add a new member to the workspace.

<figure><img src="/files/idovLFVflBDHgQxQGYT6" alt=""><figcaption><p>Add a member</p></figcaption></figure>

2. A pop-up opens as shown. Enter the user's email ID in the textbox provided. You can also use the drop-down menu to select the member.

<figure><img src="/files/VmhtMP0a3C61Qffsh0MA" alt=""><figcaption><p>select the member</p></figcaption></figure>

3. After entering the email ID, assign their role and click **Add.**

<figure><img src="/files/viYE32z7Td0zNrmBFp5Y" alt=""><figcaption><p>Add member</p></figcaption></figure>

The user has been added successfully. The user's access policy can be changed at a later time from the 'Product Access' section, if required.

{% hint style="info" %}
Users with assigned AppSource licenses are automatically added to the workspace when they sign-in for the first time.
{% endhint %}

## 5. Bulk Upload User Details

### **5.1. Bulk upload from CSV**

1. You can add multiple users at a time by uploading the user details in a CSV file. Click on **Bulk upload > From CSV.**

<figure><img src="/files/gLkqjWV5v9yG9CeA7YFo" alt=""><figcaption><p>Bulk upload from CSV</p></figcaption></figure>

2. To get a sample CSV file, click on the 'Download Sample' link.&#x20;

<figure><img src="/files/S7TmM7gnJ2f2AchKJCmV" alt=""><figcaption><p>Download Sample</p></figcaption></figure>

3. The sample file appears as below:

<figure><img src="/files/foP7yMfrYIypxcMKpdyT" alt=""><figcaption><p>Downloaded sample CSV file</p></figcaption></figure>

4. Update the necessary user information in the same format as in the downloaded file. Configure the user roles and product access details in the CSV file before uploading.

<figure><img src="/files/owzh1bsI7lwWLnIjX4NB" alt=""><figcaption><p>User details</p></figcaption></figure>

5. Now, click on the 'Upload' button and select the CSV file that you need to upload.

<figure><img src="/files/voGHJMk1C8Ld5tzjWZeW" alt=""><figcaption><p>Upload CSV</p></figcaption></figure>

6. After the file is uploaded, you can preview the details and click **Add**.

<figure><img src="/files/Za1xRFn6jkxiudBT1y5W" alt=""><figcaption><p>Add the user details</p></figcaption></figure>

The user details are now added.

### **5.2. Bulk upload from AD Group**

You can also bulk upload user details from an AD group to add a large number of users at once without having to manually add them via file upload.

1. Click **Bulk upload > From AD Group.**

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

Clicking on this option will open the 'From AD group' page. By default, no groups are added and the page is displayed as shown below.

<figure><img src="/files/9ufTSHCKnNbl8SdvpMqY" alt=""><figcaption></figcaption></figure>

To add a group, click on the 'Add group' button at the top right corner of the page. This will open up the 'Add group' pop-up.

Enter the group name or select the group name from the drop-down.

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

In the below image, 'Editable-Documentation' has been added. Once someone from the group logs in, an account will be created for the user on the user management page with member access to the workspace.

<figure><img src="/files/24VQyWIyJ85tIdOAIAQc" alt=""><figcaption></figcaption></figure>

The 'Derived from' field shows the AD group name that the member belongs to.

You can see the following details of the members of the AD group such as the date and time when they are added and their last login details as shown.

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

You can delete the added group by clicking on the 'Delete group' button in the top right corner as highlighted in the below image.

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

## 5. Remove a Member

5. **Select the User to Delete**:
   * Click on the username of the user you wish to delete.
6. **Read the Warning Message**:
   * A warning message will appear, informing you that all schedules and jobs created by the user will be deleted and cannot be retrieved, and that the user will be removed from the approvers list in workflows.
7. **Confirm Deletion**:

   * Click the "Remove" button to permanently remove the user from the system.

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


# User Roles and Permissions

The table below lists the default user roles available in the EDITable console, along with their associated permissions.

<table><thead><tr><th width="263">Roles</th><th>Associated Permissions</th></tr></thead><tbody><tr><td>Admin</td><td>Complete control within the product with no restrictions.</td></tr><tr><td>EDITable Admin</td><td>Access to all EDITable settings and writeback.</td></tr><tr><td>EDITable Input Users</td><td>Access to add comments and execute writeback.</td></tr><tr><td>EDITable Database Admin</td><td>Access the writeback configurations in the admin connection portal and create/alter tables.</td></tr><tr><td>EDITable Approvals Users</td><td>Access to review requests and take actions, execute writeback, add comments, and access audits.</td></tr></tbody></table>

Let's look at the permissions in detail for each profile.

## 1. Admin

Admins have complete control within the product with no restrictions. They have full access to all report-level features and can manage their associated settings, such as data input, writeback, approvals, audits, etc. This also includes settings related to connected planning, such as Infobridge settings, forecasts, snapshots, scenarios, etc.

They have access to the Admin Portal, where they can add or remove users, manage their roles and policies, create and define custom roles and policies, and manage general settings, writeback settings, and available assets.

## 2. EDITable Admin

EDITable admins have access to all EDITable settings and execute writeback. Their permissions are as follows:

#### Writeback

* Execute writeback

#### Comments

* Add and manage comments
* Configure comment permissions and settings

#### Editable

* All EDITable settings

#### Audit

* Audit

## 3. EDITable Input Users

EDITable input users can add comments and execute writeback. They have the following permissions:

#### Writeback

* Execute writeback

#### Comments

* Add and manage comments
* Configure comment permissions and settings

#### Audit

* Audit

## 4. EDITable Database Admin

EDITABLE Database admins have access to change the writeback configurations and settings in the admin connection portal, as well as create or alter tables. This includes the following:

#### Writeback

* Manage writeback configurations
* Create source table
* Alter source table

## 5. EDITable Approvals Users

Approval users can approve requests, execute writebacks, add comments, and access audits. Their permissions include the following:

#### Writeback

* Execute writeback

#### Comments

* Add and manage comments
* Configure comment permissions and settings

#### Editable

* Approval Users

#### Audit

* Audit

In addition to these default roles, workspace admins can create custom roles and configure their policies on a granular level, ensuring enhanced data governance and security.


# Create custom roles and policies

Inforiver-EDITable enables administrators to assign specific, granular-level controls to users by allowing them to create custom roles with customized permissions.

Admins can create custom policies in addition to the [existing default policies and roles](/admin-portal-and-editable-console/admin-portal/user-management/user-roles-and-permissions) and add only specific permissions to them.

### 1. Add a new policy <a href="#id-1.-add-a-new-policy" id="id-1.-add-a-new-policy"></a>

1. To add a new policy, click on **Add Policy.**

<figure><img src="/files/PtLpxFpReaGDx3EKqkzZ" alt=""><figcaption><p>Add Policy</p></figcaption></figure>

2. Enter a name for the new policy and a description of the permissions associated with it; select the actions/permissions that can be granted and the product to which the policy applies, and then click **Add**.

<figure><img src="/files/Fic97lNQjv9jfsajd82v" alt=""><figcaption><p>Add Custom Policy</p></figcaption></figure>

3. The policy has now been added, and you can start assigning this custom role to users by clicking on **Add User**.

<figure><img src="/files/IKy4yvWWWdccz9FnKVtN" alt=""><figcaption><p>Add user to the newly added policy</p></figcaption></figure>


# Settings

This menu opens the Settings page where you can configure general and writeback-related settings.

<figure><img src="/files/8x23bOIP684NZYBQ8rSq" alt=""><figcaption><p>Settings</p></figcaption></figure>

We will discuss these settings in detail in the upcoming sections.


# General Settings

This section allows users to manage basic settings such as email sender identity, user group access in comments, and access token expiry duration.

## **1. Single Sender Identity**

If this option is enabled, the sender's identity (their email ID) is hidden while comment notifications and approval email IDs are sent using a single FROM address. When this is disabled, the approval emails and comment notifications are sent using the respective user's email address.

<figure><img src="/files/XwHgXNkUKSzqSNBGXWrM" alt=""><figcaption><p>Single sender identity</p></figcaption></figure>

## **2. Comments**

This option enables or disables the addition of organization groups to the users list for commenting purposes. When you click **Enable**, a Microsoft O365 screen appears. Admin privileges are required to provide consent, whether this can be enabled or disabled.&#x20;

After enabling, you can mention or tag organization groups in comments.

<figure><img src="/files/gQKhKTqmHKW9BgB37ioa" alt=""><figcaption><p>Adding org groups in comments</p></figcaption></figure>

## 3. Configurable Expiration Times

EDITable allows you to set the time limit for access and refresh tokens.

**Access Token:** EDITable generates an access token when you login. These tokens act as keys that allow users to access EDITable without repeated login requests. This token's expiry time limit can be configured here in minutes.&#x20;

**Refresh Token:** Here, you can set the time limit for the refresh token. The refresh token provides users with extended login times without the need for regular re-authentications. The access tokens will be refreshed automatically in the backend, provided they are within the configured refresh token expiry limit. After the time limit, there is a new set of access and refresh tokens for a user.

<figure><img src="/files/x0X8gqP6FKLYC47o9tNB" alt=""><figcaption><p>Access and refresh tokens duration</p></figcaption></figure>


# Writeback Settings

This section covers settings related to writeback connections and configurations.

## **1. Connections**

* **Add Connection**: Users can add a new connection.
* **Connection Details**: Users can view details about the connections they have made in portal.

<figure><img src="/files/21wfqMro7oRHtxL5UqYU" alt=""><figcaption><p>Add connection</p></figcaption></figure>

## **2. Writeback Settings**

The writeback settings let admins configure various access settings for the users. The admin can configure the following settings:

**Database Connection Management: E** Option to allow or not allow users to configure the database connection management.

* **Writeback Destination Timeout**:
  * Setting to configure the timeout duration for writeback destinations.
* **Permissions**:
  * Define who can add the destination for writeback (e.g., Admins only, specific roles).
* **Batched Write Setting**:

  * Configuration for batching write operations, including setting batch size limits.

  <figure><img src="/files/dfpgOJneyLMAVQWolkt0" alt=""><figcaption><p>Writeback settings</p></figcaption></figure>

## 3. Editable Managed DB

This is intended for SaaS trial customers, where a sample database will be created within the EDITable tenant for proof of concept (POC) purposes. We strongly recommend not using this database for storing any production-grade data.

<figure><img src="/files/QvvmiGTY4hzPTaxnfFus" alt=""><figcaption><p>EDITable managed DB</p></figcaption></figure>


# Add & Manage Connections


# Database Connections


# Amazon Redshift

Editable lets you choose your preferred database connections for creating, migrating and managing data by supporting a host of cloud-based and on-premise databases including Fabric Warehouse, Azure SQL, Snowflake, Databricks, BigQuery, Amazon Redshift, and PostgreSQL.

Whether you're importing your spreadsheet data into these connections, or you're connecting to the existing data available in these databases to manage them, Editable has it all.


# Azure SQL


# BigQuery


# Databricks


# EDITable managed DB


# Fabric Warehouse


# PostgreSQL


# Snowflake


# Settings

In this section, all writeback-related settings can be configured by the admin.

## 1. Allow users to configure database connections

Admins can enable or disable users from configuring database connections using this toggle as highlighted below:

<figure><img src="/files/F0SfbpXj7nrgChYHhEuN" alt=""><figcaption><p>Allow users to configure databases - enabled</p></figcaption></figure>

When disabled, no user can add a new connection to the EDITable visual. They can only connect to the existing database connections that are already configured and available.

## 2. Request Time out <a href="#id-1.-request-time-out" id="id-1.-request-time-out"></a>

When EDITable cannot connect to a database connection within a specified time limit, it displays a request timeout error. To avoid this, you can set a custom connection time from the admin console which gives ample time for EDITable to connect to a database before displaying a time-out error.

In the admin console, navigate to **Settings** and then Writeback > Settings. Under the **Writeback destination connection** settings, you can set the duration of the request time-out. In the example, we have set it to 300 seconds. EDITable will wait up to 300 seconds for the connection to be established before generating a request timeout error.

<figure><img src="/files/PViNIx7V6JrFiwJ4nqz8" alt=""><figcaption><p>Request Time out</p></figcaption></figure>

## 3. Batched Write Setting <a href="#id-2.-batched-write-setting" id="id-2.-batched-write-setting"></a>

By default, if your writeback payload exceeds 50k records, EDITable can split the payload into multiple chunks each of size 50k records, and write them back batch-by-batch.&#x20;

You can change the default batch size of 50k records in the **Batched Write Setting** section. In the example below, we have specified the batch size as 75k. Batched writeback happens when the writeback payload exceeds 75k records with writing back each chunk of size 75k records.

<figure><img src="/files/DBL4NoQHSsCFhnECiaFD" alt=""><figcaption><p>Batched Write Setting</p></figcaption></figure>

The request time out and batched write setting can be adjusted when you are working with high volume data to achieve better performance.


# EDITable managed DB

EDITable managed DB is an Azure SQL Database connection that **exists inside & owned by EDITable tenant**. It is recommended for POC purposes only.&#x20;

Users who have difficulties in setting up a database connection within their tenant are welcome to use this feature to understand EDITable writeback and sync functionalities and perform test writebacks for POC purposes.

In this section, the admin can enable or disable users from using this managed DB.

<figure><img src="/files/q1aUgBxUsVggGPxw8UkD" alt=""><figcaption><p>Enable/disable EDITable Managed DB</p></figcaption></figure>


# API token

We provide an API token management system in the admin console where admins can create and manage API tokens. These tokens can then be integrated into any external application to deploy EDITable pipelines or refresh a semantic data input model. This way, any authorized user can deploy piplelines or refresh the semantic model with a simple click of a button from an external application without logging in to the admin console or the report.

Let us now see the process of creating an API token.

### 1. Create API Token <a href="#id-1.-create-api-token" id="id-1.-create-api-token"></a>

1. To create a new API token, click **Create API Token** in the API token screen.

<figure><img src="/files/o9bUC4YeNdWm3a7sxuT8" alt=""><figcaption><p>Create API token</p></figcaption></figure>

2. In the next screen, you can enter the details of the token.

**Token name:** Enter a name for the token.

**Expiry:** Set the token's validity to 30/60/90 days, or you can set any custom date within a year.

**Description:** Enter an optional description of the token.

**Permission:** You can set either or both of the following permissions: execute a new subscription, and refresh a semantic data input model.

After entering the details, click **Generate**.

<figure><img src="/files/5W6h0XcBv6e2CiIItTEC" alt=""><figcaption><p>Generate token</p></figcaption></figure>

3. A new token will be generated. Ensure that it is copied and saved somewhere, as it will become irretrievable after copying the token or closing the window.

<figure><img src="/files/eNrM7JOY1u8hhlStWyXa" alt=""><figcaption><p>Copy the token</p></figcaption></figure>

Now with this token, we can deploy an EDITable pipeline and/or refresh the semantic data input model externally from any application.




---

[Next Page](/llms-full.txt/1)

