# Add sequence

The **Add sequence** step adds a sequence value to the PDI stream.

A sequence is an ever-changing integer value with a specific start value and increment value. You can either:

* Use a database sequence to generate the next value.
* Generate the value in PDI by using a transformation counter.

PDI-generated sequence values are unique when used in the same transformation and reset to the start value each time you run the transformation.

### Step name

* **Step name**: Specify the unique name of the step on the canvas. **Step name** is set to `Step sequence` by default.

### General

* **Name of value**: Specify the name of the new sequence value field to add to the stream. **Name of value** is set to `valuename` by default.

### Options

Choose one method to generate the sequence.

{% tabs %}
{% tab title="Database sequence" %}
Select **Use DB to generate the sequence?** to drive the sequence by using a database sequence.

| Option                               | Description                                                                                                                                                                             |
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Use DB to generate the sequence?** | Select this option to drive the sequence by using a database sequence. If you clear this option, **Use counter to calculate sequence?** is selected automatically.                      |
| **Connection**                       | Select the connection where your database sequence resides. If you do not have an existing connection, select **New** or **Wizard**. To modify an existing connection, select **Edit**. |
| **Schema name** (optional)           | Specify the schema name of any related table. Select **Schemas** to choose a schema in the selected connection.                                                                         |
| **Sequence name**                    | Specify the name of the database sequence. Select **Sequences** to choose a sequence in the selected connection.                                                                        |
| {% endtab %}                         |                                                                                                                                                                                         |

{% tab title="Transformation counter" %}
Select **Use counter to calculate sequence?** to generate the sequence in PDI.

| Option                                 | Description                                                                                                                                                                       |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Use counter to calculate sequence?** | Select this option to generate the sequence in PDI. This option is selected by default. If you clear this option, **Use DB to generate the sequence?** is selected automatically. |
| **Counter name** (optional)            | Specify the counter name to avoid unique sequencing across multiple steps when multiple steps in a transformation generate the same value name.                                   |
| **Start at value**                     | The start value for the sequence. For example, if **Start at value** is `1`, the sequence starts with `1`.                                                                        |
| **Increment by**                       | The amount by which the sequence increases or decreases.                                                                                                                          |
| **Maximum value**                      | The value to reach before returning the sequence to the **Start at value** setting.                                                                                               |

#### Example

If you set **Start at value** to `1`, **Increment by** to `1`, and **Maximum value** to `3`, the resulting sequence is:

`1, 2, 3, 1, 2, 3, 1, 2`...

If you set **Start at value** to `0`, **Increment by** to `-1`, and **Maximum value** to `-2`, the resulting sequence is:

`0, -1, -2, 0, -1, -2, 0`...
{% endtab %}
{% endtabs %}

### See also

* [**Add value fields changing sequence**](https://wiki.pentaho.com/display/EAI/Add+value+fields+changing+sequence) (Pentaho Wiki). Adds a sequence when the values of a field change. Each time a value of at least one field changes, the added sequence resets to its start value.
* [**Group By**](/pdia-data-integration/pdi-transformation-steps-reference-overview/group-by-landing-page-article.md). Builds aggregates by grouping and generates sequential numbers within rows with repeating values.
* [**Get ID from Slave Server**](https://wiki.pentaho.com/display/EAI/Get+ID+from+Slave+Server) (Pentaho Wiki). Use this step if you need a unique ID in a clustered environment.


---

# 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.pentaho.com/pdia-data-integration/pdi-transformation-steps-reference-overview/add-sequence-step-article.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.
