# Table Designer

In this section, you can easily create your business rules, then link them to input and output data. Business rules are created to easily design or change the rules and deploy them quickly.

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

#### Applying changes

After each change, press the ![](/files/-MZmBP8i-zIKd08-YEws) button in the bottom right corner to save your progress.

{% hint style="info" %}
All the changes are made to the current table version.
{% endhint %}

## Conditions

Conditions are used to define input values.

### Adding Conditions

To add a new condition, click on the plus symbol in the header of a condition column.

<img src="/files/4BnOJGjHlGdWEkSX9yUt" alt="" data-size="original">

### Select value from Input Model

It is necessary to select some value from the Input Model.\
To do this, click on ![](/files/-MQWKmyTqxKOBxO4B3gx) button under the condition name. All possible values will be expanded, and then you can select one of them

{% hint style="info" %}
More information is in the [Binding To Model](/doc/~/changes/VuchuDyabVa3NSXAKjpZ/decision-tables/binding-to-model.md).
{% endhint %}

### Delete Condition

To delete a condition from the Designer, click on the gear icon in the header of said condition, then click the remove button in the dropdown menu.

![](/files/iXsG0fIYO3k1OZZUs8Xq)

## Results

Results are used to define output values.

### Adding Result

To add a new result column, click on the plus symbol in the header of another result column.

![](/files/1zLdw5VY4pnrUoH1jqyp)

### Select value from Output Model

It is necessary to select some value from the Output Model.\
To do this, click on![](/files/-MQWKmyTqxKOBxO4B3gx)button under the condition name. All possible values will be collapsed, and then you can select one of them.

{% hint style="info" %}
More information is in [Binding To Model](/doc/~/changes/VuchuDyabVa3NSXAKjpZ/decision-tables/binding-to-model.md).
{% endhint %}

### Delete Result

To delete a result column from the Designer, click on the gear icon in the header of said result column, then click the remove button in the dropdown menu.

![](/files/wG76uMP4tqOaPNsiFqou)

## Row

A row represents one rule for specified data. If it's called, the [Rule Solver](/doc/~/changes/VuchuDyabVa3NSXAKjpZ/api/rule-solver-api.md) or the[Test Bench](broken://pages/-MN5Ss1ULMHsu4C-PG4E) with Input Data corresponding to **conditions** in a row, the[ Rule Solver](/doc/~/changes/VuchuDyabVa3NSXAKjpZ/api/rule-solver-api.md) or the [Test Bench](broken://pages/-MN5Ss1ULMHsu4C-PG4E) response will have the same data specified in **results** in the corresponding row.

### Adding Row

To add a new row, click on <img src="/files/Dz9WvCGpT7Dy3BaMdAEB" alt="" data-size="line"> button in the bottom panel.

### Fill Condition cell

For every condition cell, choose an **Operator** and write a **Value** (if necessary).\
Possible operators are specified in [Operators](/doc/~/changes/VuchuDyabVa3NSXAKjpZ/decision-tables/operators.md), and possible values for data types are specified in [Data Types](/doc/~/changes/VuchuDyabVa3NSXAKjpZ/decision-tables/data-types.md).

### Fill Result cell

Possible results for data types are specified in[ Data Types](/doc/~/changes/VuchuDyabVa3NSXAKjpZ/decision-tables/data-types.md).\
To fill the result cell value, click on the existing value, then enter a new value.

### Copy Row

To copy a row, click on![](/files/-MQWY20XOGwpRcKex6N1)the button. After that, select one of the copy options, then the row will be copied. The copied row will have the same set of rules.

### Clear Row

To clear all sets of conditions and result values, click on![](/files/-MQWY20XOGwpRcKex6N1)the button. After that, select **Clear Row,** then all values in the row will be cleared.

### Inactive and Active Row

To Inactive the row, click on the ![](/files/-Mhx4bfy7hCe9S5B20L-) button. After that, the button changes to![](/files/-Mhx5mH7xjGinnoh9ZNQ). To reactive row click on the button again.

{% hint style="success" %}
By default all the rows in the tables are **ACTIVE.** This functionality can be used when you don't want to use the line in the rule for validation, but you might need to use it in the future.

If the row is **INACTIVE** it behaves in the same way, as it wouldn't be there.
{% endhint %}

### Delete Row

There are two options for deleting a row from the designer:

* Click on![](/files/-MQWZMwL6V2iWvWGfxNp)the button.
* Click on![](/files/-MQWY20XOGwpRcKex6N1)the button. After that, select **Delete Row**.

### Use Row in Test Bench

To use a row in the **Test Bench**:

* Click on the ![](/files/SmVgByXdT39iQjsVorQv) button

After using one of the options, the row is copied to the [Test Bench](broken://pages/-MN5Ss1ULMHsu4C-PG4E) at the bottom of the page.

### Change the order of Rows

To change the position of the row, click on![](/files/-MQWY20XOGwpRcKex6N1) the button. After that, select **Move.**

It will open new modal, where you can specify the new position of selected row.

![](/files/kZvTvZ3zHQqayZD8MBv9)

### Time row validation

You can specify in which time period the row will be active and when it will not be active. To set the time validation, click on the <img src="/files/j35JGif3D5TAXRW1LD5X" alt="" data-size="original"> button. You will then be presented with a new modal where you can select a time range **from** and **to**.&#x20;

![](/files/3mDW3jx39x9hLbkZTOK5)

**Date** and **GMT** must be set, **Time** is optional.

{% hint style="success" %}
By default all rows are not **time limited**, so they will **always be evaluated**. If time validation is set, the row will only **be evaluated in the set period.**
{% endhint %}

{% hint style="info" %}
The row with the setting shown **in the image above** is valid **from** 29 April 2022 00:00:00 GMT+2 **to** 30 April 2022 23:59:59 GMT+2
{% endhint %}

## Check Table for duplicates

To check the table for duplicate rows, click the ![](/files/-MQWY20XOGwpRcKex6N1) button in the bottom panel, then click the<img src="/files/wWSMMwwETKBHxIFB6XDq" alt="" data-size="line"> button. Clicking this button compares the input values in the table. If it finds rows, which are the same it highlights them. It works only on the input model as the output model can be the same.

![](/files/-MZmF0K5fdb7guAsXK-y)

## Debug

The debug button ![](/files/-MZmGHxV5szgqq44IqPl) is on the test bench shown on the bottom of the table designer. By default debug mode is turned off, by clicking on it the user turns it on.

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

The debug mode is used for showing the rows in the table which meet the input. It highlights the row with green color.

![](/files/-MZmHQ0mHi9GqL1oqpqw)

{% hint style="info" %}
For a larger view of the test bench, you can use the maximize button in the right corner. Looks like this: ![](/files/-Mi5cbSH9djMmCuHmMQN)
{% endhint %}

## AutoSave button

The AutoSave button ![](/files/3NwjSCcz3Y9mQFawTv1g) is located on the bottom of the Decision Tables page, next to the button ![](/files/4Dw4lg7vuJQXYZNhPkWb) / ![](/files/Sk4mklXHV7n2Yv7lZIY0).

### Highlight the active columns and rows

If you are getting lost between columns and rows, there is an option to highlight active rows and columns. This function is hidden under the button <img src="/files/DASusYuBwDiKsJR4m9p9" alt="" data-size="original">in the navigation toolbar in the bottom of Decision Tables.

<figure><img src="/files/7J0l4vy4aJJAaP3pZsMi" alt=""><figcaption></figcaption></figure>

Choose what you want to get highlighted and activate the option. The row/ column will be highlighted with light green - as it is demonstrated in the picture below.

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

## Undo & Redo

There is a local history of every change in this designer.\
It is possible to undo or redo change by clicking on ![](/files/-MQWHIZ2mZjmiWgC5t1u)or![](/files/-MQWHNqSqMVaeVSKpcyV)button.


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://docs.decisionrules.io/doc/~/changes/VuchuDyabVa3NSXAKjpZ/decision-tables/decision-table-designer.md?ask=<question>
```

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

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