> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

# parent_field

> Declares a dimension as a child of another dimension for nested field display.

This parameter defines a parent-child relationship between dimensions, which is used to represent nested fields such as those produced by denesting JSON or `STRUCT` columns from your database schema.

Children of a parent dimension display below the parent in the field browser, similar to fields grouped with [`group_label`](/modeling/dimensions/parameters/group-label). By default, a child's label is prefixed with its parent's label — see [`skip_parent_label`](/modeling/dimensions/parameters/skip-parent-label) to change this behavior.

Omni automatically generates `parent_field` when you:

* Use the **Create fields from JSON** functionality in the model IDE, or
* Add fields from `STRUCT` columns in your database schema.

## Syntax

```yaml theme={null}
<dimension_name>:
  parent_field: <parent_dimension_name>
```

## Properties

<ParamField path="dimension_name" type="object">
  The name of the child dimension. Dimension names must:

  * Be unique within the view
  * Start with a letter
  * Contain only alphanumeric characters and underscores

  <Expandable title="dimension_name properties" defaultOpen="true">
    <ParamField path="parent_field" type="string">
      The name of the parent dimension in the same view. The child dimension will display nested beneath this field in the field picker.
    </ParamField>
  </Expandable>
</ParamField>

## Example

Consider a nested JSON `order_info` field that contains `status`, `email`, and `state` attributes:

```yaml theme={null}
dimensions:
  order_info:
    sql: ${TABLE}.order_info

  order_info_status:
    sql: ${order_info}:status::STRING
    parent_field: order_info

  order_info_email:
    sql: ${order_info}:email::STRING
    parent_field: order_info

  order_info_state:
    sql: ${order_info}:state::STRING
    parent_field: order_info
```

In the field browser, `order_info_status`, `order_info_email`, and `order_info_state` display nested under `order_info`. By default, their labels are prefixed with `Order Info` — for example, `Order Info Status`.
