> ## 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.

# Rename

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", "Google BigQuery"]} componentType="Transformation" connectionInputs="One" connectionOutputs="Unlimited" />

The **Rename** transformation component lets you change the names of one or more columns in your dataset. You can choose whether to include all input columns in your dataset, or only the columns that you rename. If you choose to include input columns without renaming them, their names stay the same.

You can also use the **Rename** component to create copies of existing columns by adding them to the column mapping property twice and specifying different names for each new column.

### Use case

This component can be used to make your data clearer and enforce consistent naming conventions. For example, you can use it to:

* Rename unclear column names—for example, change alphanumeric product codes to human-friendly product names.
* Standardize customer data from different sources—for example, rename the `cust_id` and `customerID` columns in different datasets to `Customer_ID`, so you can combine these datasets for further analysis.

***

## Properties

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

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

<ResponseField name="Column Mapping" type="column editor" required>
  In each **Source column** drop-down, select a column in your dataset that you want to rename. Click the **+** icon to add another row, or before adding any rows, click **Add all** to add all input columns to the **Source column**.

  In the **Target column** fields, enter the new name for the selected columns. You can add source columns multiple times to create copies of the same column with different names. Each new name in the **Target column** must be unique.
</ResponseField>

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

<ResponseField name="Include Input Columns" type="boolean" required>
  If **Yes**, uniquely named input columns will be included in the output. Any renames that duplicate an existing input column will take priority. The default setting is **No**.
</ResponseField>
