# Generate rows

The **Generate rows** step outputs a specified number of rows. By default, the rows are empty, but they can include static fields.

You can use this step to generate a fixed number of rows for testing purposes. For example, you can generate exactly 12 rows for 12 months. You can also use the step to generate one row as a starting point for your transformation (for example, a row that contains field values used to parameterize SQL).

### Options

The Generate rows step has the following options:

| Option                           | Description                                                                                                             |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Step name**                    | Specify the unique name of the step on the canvas. The default is **Generate rows**.                                    |
| **Limit**                        | Specify the maximum number of rows to generate.                                                                         |
| **Never stop generating rows**   | Select to keep generating rows. This can be useful for real-time use cases such as recurring polling.                   |
| **Interval in ms (delay)**       | Specify the interval (in milliseconds) between generated rows. The default is 5000.                                     |
| **Current row time field name**  | Optional name for the date field containing the time the current row was generated. The default is `now`.               |
| **Previous row time field name** | Optional name for the date field containing the time the previous row was generated. The default is `five seconds ago`. |

### Fields

The Generate rows step includes the following columns to configure the structure and values of the rows you generate.

| Column                | Description                                                                                                                                                                                                                            |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**              | The field name.                                                                                                                                                                                                                        |
| **Type**              | <p>The data type. Available types:</p><ul><li>BigNumber</li><li>Binary</li><li>Boolean</li><li>Date</li><li>Integer</li><li>Internet Address</li><li>Number</li><li>String</li><li>Timestamp</li></ul>                                 |
| **Format**            | <p>Number or date format used for data generation. See <a href="/pages/7QdsUSMoGpAEmMzKkv2J">Common Formats</a>.</p><p><strong>Note:</strong> Format is applied only when converting a non-string data type to a string data type.</p> |
| **Length**            | Output data length.                                                                                                                                                                                                                    |
| **Precision**         | Output data precision.                                                                                                                                                                                                                 |
| **Currency**          | Currency symbol used during data generation.                                                                                                                                                                                           |
| **Decimal**           | Decimal symbol used during data generation.                                                                                                                                                                                            |
| **Group**             | Grouping symbol used during data generation.                                                                                                                                                                                           |
| **Value**             | Field value.                                                                                                                                                                                                                           |
| **Set empty string?** | Select **Y** to replace null values with empty strings, or **N** to keep null values.                                                                                                                                                  |


---

# 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/generate-rows.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.
