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

# Configure Multi-Select Enums

> Set up Nextedy RISKSHEET columns that allow users to select multiple enumeration values from a dropdown, with optional dependent enum filtering driven by another column on the same row.

export const LastReviewed = ({date}) => {
  if (!date) return null;
  const formatted = new Date(`${date}T00:00:00Z`).toLocaleDateString("en-US", {
    year: "numeric",
    month: "long",
    day: "numeric",
    timeZone: "UTC"
  });
  return <p className="mt-10 text-sm text-gray-400 dark:text-zinc-500 not-prose">
      Last reviewed on {formatted}
    </p>;
};

In Risksheet, enum values are NOT defined inside the sheet configuration. They come from Polarion enumerations defined in Siemens Polarion ALM. The sheet configuration only references those enumerations from individual column definitions.

## Step 1: Define the Enumeration in Polarion

Multi-select enum values are managed in Polarion, not in the sheet configuration.

1. Open Polarion **Administration > Enumerations** for your project (or globally).
2. Create a new enumeration (for example, `allocation`) and add the items you want to expose: `mech`, `elec`, `sw`, `sys`, with display names such as "Mechanical", "Electrical", "Software", "System".
3. Create or reuse a custom field on the risk work item type that is bound to this enumeration and allows multiple values.

The enumeration ID (here `allocation`) is what the sheet configuration will reference. You do not redeclare options, names, or visibility in the sheet configuration file.

To hide deprecated values, mark them as not visible in the Polarion enumeration definition. Risksheet will simply not offer them in the dropdown.

## Step 2: Add a Multi-Enum Column

In the sheet configuration (the configuration editor supports YAML editing since v25.5.0), add a column that references the enumeration via the `multiEnum:` type prefix and binds it to the Polarion custom field through `bindings`:

```yaml theme={null}
columns:
  - id: allocation
    header: Allocation
    bindings: allocation
    type: multiEnum:allocation
```

Key points:

* `type: multiEnum:<enumId>` tells Risksheet to render a multi-select dropdown backed by the Polarion enumeration whose ID is `<enumId>`.
* `bindings` (plural) is the Polarion field ID on the risk work item that stores the selected values.
* The server loads the enumeration values automatically; no list of options lives in the sheet configuration.

<Warning title="Use `multiEnum:` Not `enum:`">
  The column type **must** use the `multiEnum:` prefix (for example, `type: multiEnum:allocation`). Using `type: enum:allocation` renders a single-select dropdown even if the underlying Polarion field supports multiple values.
</Warning>

## Multi-Select Display Behavior

| Selected Count | Display                             |
| -------------- | ----------------------------------- |
| 0              | Empty cell                          |
| 1              | Single value name                   |
| 2              | Both value names shown              |
| 3+             | First 2 names + "+N more" indicator |

Multi-enum cells are optional by default — a row can have no selection. Risksheet stores enum IDs internally and resolves them to the display names from the Polarion enumeration during rendering.

## Step 3: Configure Dependent Multi-Enum Filtering (Optional)

Dependent enumerations are a **column-level** feature (v25.3.1+). They are NOT a top-level configuration section — the filtering rules live directly on the dependent multi-enum column, not in a separate global block.

The pattern is:

* Pick a controlling column on the same row (for example, a `riskCategory` enum column).
* On the multi-enum column, declare which values become available for each value of the controlling column.

```yaml theme={null}
columns:
  - id: riskCategory
    header: Risk Category
    bindings: riskCategory
    type: enum:riskCategory

  - id: allocation
    header: Allocation
    bindings: allocation
    type: multiEnum:allocation
    typeProperties:
      dependsOn: riskCategory
      mapping:
        hardware: [mech, elec]
        software: [sw]
        system: [mech, elec, sw, sys]
```

When the controlling column changes:

* The multi-enum dropdown filters to show only the values listed for the new controlling value.
* Any currently selected values that are no longer valid for the new controlling value are automatically removed.
* If the controlling cell is cleared, the full set of enumeration values becomes available again.

<Tip title="Undo Support for Cascading Changes">
  Cascading updates triggered by a dependent-enum change are tracked together in the undo stack. A single undo (Ctrl+Z) reverts the controlling change and any dependent values that were cleared.
</Tip>

## Filtering Multi-Enum Columns

Column filtering is enabled by default on multi-enum columns. Users can filter rows by one or more selected enumeration values; matching is value-based, so a row is included when its selected set intersects the filter set. If you need to opt a column out of filtering, set `filterable: false` on the column definition.

## Verification

You should now see a multi-select dropdown when clicking a cell in the configured column. Selecting multiple values displays them as chips, with a "+N more" indicator when more than two values are selected. If a dependent mapping is configured, changing the controlling cell should immediately reshape the available options and drop any invalid selections.

## See Also

* [Configure Enum Columns](/risksheet/guides/columns/enum-columns)
* [Configure Multi-Enum Columns](/risksheet/guides/columns/multi-enum-columns)
* [Configure Dependent Enums](/risksheet/guides/advanced/dependent-enums)
* [Perform Bulk Editing](/risksheet/guides/advanced/bulk-editing)

<LastReviewed date="2026-06-08" />
