# Modify values from a single row

You can use the Modify values from a single row step to build complex hierarchical data in two ways:

* You can take hierarchical data from a previous step and modify the data using incoming fields by using a series of path definitions for the single row of input.
* You can take non-hierarchical data and create a new hierarchical data structure or modify an existing hierarchical data structure and pass the structured data to other steps.

For more information, see [Hierarchical data](/pdia-data-integration/extracting-data-into-pdi/hierarchical-data.md).

### Step name

* **Step name**: Specify the unique name of the Modify values from a single row step on the canvas. You can customize the name or leave it as the default.

![Modify values from a single row step window](/spaces/YwnJ6Fexn4LZwKRHghPK/files/8B625AhhJliE3bAv5N42)

### Targets

* **Target field name**: Name of the hierarchical output field that is generated or modified using fields from a previous step.
* **Target hierarchical path**: Specify the hierarchical path inside the **Target field name** field. See [Hierarchical data path specifications](broken://spaces/YwnJ6Fexn4LZwKRHghPK/pages/ji5ygWJ7r8yORvFw3Rjj).
* **Modify action**: The action to perform on the target field.
  * **SET**: Set the target hierarchical path to the value specified in **Value field name**.
  * **SET\_IGNORE\_NULL\_VALUE**: Perform **SET** only if the value field is not null.
  * **SET\_IF\_NULL**: Set the target hierarchical path to the value specified in **Value field name** if the target path is null.
  * **UNSET**: Unset the target hierarchical path.
    * Example: `before: { hello: null, hello2: 10 }, after: {}`
  * **UNSET\_IF\_NULL**: Unset the target hierarchical path if the value stored at the path is null.
    * Example: `before: { hello: null, hello2: 10 }, after: { hello2: 10 }`
* **Value field name**: The name of the incoming field.
* **Output set path field name** (optional): The field name that contains the output path of the field that the step modified or created.

### Example

The sample transformation `Modify_From_A_Single_ROW.ktr` demonstrates the capabilities of this step and is available in the plugin distribution package in the `data-integration/plugins/hierarchical-datatype-plugin/samples/transformations` directory.

This step is also demonstrated in `Advanced_Using_Multiples_To_Join_And_Edit.ktr`. Comments in the transformations explain how the steps are used.

![Modify values from a single row example KTR](/spaces/YwnJ6Fexn4LZwKRHghPK/files/1RL1c7VGTm4FHuWdnJRB)


---

# 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/modify-values-from-a-single-row.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.
