# Row Normaliser

The Row Normaliser step converts the columns of an input stream into rows. You can use this step to normalize repeating groups of columns.

### General tab

The following fields are general to this transformation step:

| Field          | Description                                                                                                              |
| -------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Step name**  | Specify the unique name of the Row Normaliser step on the canvas. You can customize the name or leave it as the default. |
| **Type field** | Specify the name of the new column in the output data.                                                                   |

### Fields table

| Field          | Description                                                   |
| -------------- | ------------------------------------------------------------- |
| **Fieldname**  | Name of the fields to normalize.                              |
| **Type**       | Specify the string used to classify the field.                |
| **new field**  | Specify the fields where you want to transfer the new values. |
| **Get Fields** | Retrieve a list of all fields coming in on the streams.       |

### Example

Perform the following steps to demonstrate a simple example of the Row Normaliser step:

1. Create the following sample table of product sales data as an input source:

   | Date      | PR1\_NR | PR1\_SL | PR2\_NR | PR2\_SL | PR3\_NR | PR3\_SL |
   | --------- | ------- | ------- | ------- | ------- | ------- | ------- |
   | `January` | `5`     | `100`   | `10`    | `250`   | `4`     | `150`   |
2. Input the values shown in the following graphic in the Row Normaliser step:

   ![Row normaliser values example](/spaces/YwnJ6Fexn4LZwKRHghPK/files/VpH79ZVShdrO5GlC9mgP)
3. Run the Row Normaliser step.

The following table displays in the Preview data pane:

![Results in the Preview data pane](/spaces/YwnJ6Fexn4LZwKRHghPK/files/3Q5PUh46ABuCtc4ye8se)

The `design-tools/data-integration/samples/transformations` directory contains the following example KTRs that show how to use this step:

| Example KTR file                                     | Description                                                                     |
| ---------------------------------------------------- | ------------------------------------------------------------------------------- |
| `Row Normaliser - Simple example.ktr`                | Shows a simple example of normalizing sales data.                               |
| `Row Normaliser - turn a single row into 3 rows.ktr` | Shows an example of splitting fields into columns then normalizing the columns. |

### Metadata injection support

All fields of this step support metadata injection. You can use this step with [ETL metadata injection](/pdia-data-integration/pdi-transformation-steps-reference-overview/etl-metadata-injection.md) to pass metadata to your transformation at runtime.

The following fields of the Row Normaliser step support metadata injection:

* **Fieldname**
* **Type**
* **new field**


---

# 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/row-normaliser.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.
