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

# Map Values

export const ComponentMetadata = ({warehouses, unsupportedWarehouses = [], componentType, connectionInputs, connectionOutputs}) => {
  const allWarehouses = [...warehouses.map(w => ({
    name: w,
    supported: true
  })), ...unsupportedWarehouses.map(w => ({
    name: w,
    supported: false
  }))];
  return <div style={{
    background: 'var(--colors-background-light, #f9fafb)',
    border: '1px solid var(--colors-border-default, #e5e7eb)',
    borderRadius: '12px',
    padding: '20px 28px',
    marginBottom: '28px',
    boxShadow: '0 1px 4px rgba(0,0,0,0.10)'
  }}>
      <table style={{
    width: '100%',
    borderCollapse: 'collapse'
  }}>
        <tbody>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle',
    width: '180px'
  }}>Project Availability</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>
              <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '8px'
  }}>
                {allWarehouses.map((w, i) => <span key={i} style={{
    background: w.supported ? '#dcfce7' : '#fee2e2',
    color: w.supported ? '#15803d' : '#b91c1c',
    border: `1px solid ${w.supported ? '#bbf7d0' : '#fca5a5'}`,
    borderRadius: '9999px',
    padding: '3px 12px',
    fontSize: '0.85rem',
    fontWeight: '500',
    whiteSpace: 'nowrap'
  }}>
                    {w.name} {w.supported ? '✅' : '❌'}
                  </span>)}
              </div>
            </td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Component Type</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>{componentType}</td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Connection Inputs</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>{connectionInputs}</td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Connection Outputs</td>
            <td style={{
    verticalAlign: 'middle'
  }}>{connectionOutputs}</td>
          </tr>
        </tbody>
      </table>
    </div>;
};

<ComponentMetadata warehouses={["Snowflake", "Databricks", "Amazon Redshift"]} unsupportedWarehouses={["BigQuery"]} componentType="Transformation" connectionInputs="One" connectionOutputs="Unlimited" />

The **Map Values** transformation component lets you map a value in an existing column to a different value in a new column, based on a specified condition.

Like the [Fixed Flow](/docs/components/fixed-flow) transformation component, **Map Values** can be used to introduce mappings into your data—for example, mapping a non-descriptive code to a more human-readable name.

### Use case

This component helps you to clean and standardize your data. For example, you can use it to:

* Map ICD diagnosis codes in healthcare data to the name of the condition to make your data easier to understand.
* Flag unusual transaction amounts in banking data—for example, by mapping transaction values less than \$0 to "Refund".

***

## Properties

<ResponseField name="Name" type="string" required>
  A human-readable name for the component.
</ResponseField>

{/* <!-- param-start:[valueMap] | warehouses: [snowflake, databricks, redshift] --> */}

<ResponseField name="Value Map" type="column editor" required>
  * **Input Column:** The name of the column output from the previous component used for comparison.
  * **Qualifier:** Can be either **Is** or **Not**. Used to invert the filter if required.
  * **Comparator:** Select the comparison operator.
    * **Less than:** The value in the Input Column must be less than the value specified in the Comparison Value Column.
    * **Less than or equal to:** The value in the Input Column must be less than or equal to the value specified in the Comparison Value Column.
    * **Equal to:** The value in the Input Column must be equal to the value specified in the Comparison Value Column.
    * **Greater than:** The value in the Input Column must be greater than the value specified in the Comparison Value Column.
    * **Greater than or equal to:** The value in the Input Column must be greater than or equal to the value specified in the Comparison Value Column.
    * **Like:** Sets a case-sensitive match of the value in the Input Column and the pattern in the Comparison Value Column.
    * **ILike:** Sets a case-insensitive match of the value in the Input Column and the pattern in the Comparison Value Column.
    * **Similar to:** Matches the value in the Input Column with an SQL standard regular expression pattern in the Comparison Value column.
    * **Null:** Checks whether the value of the Input Column is the SQL null value.
    * **Blank:** Checks whether the value of the Input Column is an empty string.
    * **Null or blank:** Checks whether the value of the Input Column is either the SQL null value or an empty string.
  * **Value:** A value entered by the user for comparison.
  * **Then Value:** A value entered by the user that will be added to the data when the comparison is matched.
</ResponseField>

{/* <!-- param-start:[columnName] | warehouses: [snowflake, databricks, redshift] --> */}

<ResponseField name="Column Name" type="string" required>
  The name of the output field that is passed to subsequent components.
</ResponseField>

{/* <!-- param-start:[other] | warehouses: [snowflake, databricks, redshift] --> */}

<ResponseField name="Other" type="string" required>
  A value entered by the user when none of the conditions are matched.
</ResponseField>
