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

# Clean up your data

> Remove duplicate rows, split a column into parts, merge two columns, and give a nested field its own column.

A few structural edits fix the shape of a table rather than one cell at a time. Each works on the whole table, not just the rows a filter or view is showing.

<Frame caption="The dedupe dialog, before removing repeats.">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/oneprofile/images/tables/clean-up-your-data.png" alt="A dialog titled Dedupe Company, naming a Duplicate on column and the number of rows it will remove, with a button that counts the rows it will remove." />
</Frame>

## Remove duplicate rows

<Steps>
  <Step title="Open Dedupe">
    Open a column's header menu and choose **Dedupe**, or open **Table settings** and use the **Deduplication** section.
  </Step>

  <Step title="Pick the column to match on">
    Choose the column under **Duplicate on**. Rows with the exact same value in that column count as duplicates, and blank cells never match each other.
  </Step>

  <Step title="Confirm the count">
    The dialog names how many rows it will remove before you commit, keeping the first of each repeated group and deleting the rest.
  </Step>
</Steps>

## Split a column into parts

<Steps>
  <Step title="Choose a delimiter">
    Open a column's header menu, choose **Text to columns**, and pick **Space**, **Comma**, **Semicolon**, **Tab**, or **Custom…** for your own character, under **Split on**.
  </Step>

  <Step title="Set how many columns">
    Set **Columns** to how many parts you expect. The preview updates as you adjust it.
  </Step>

  <Step title="Create the columns">
    New columns are added beside the original, which is left untouched. They stay live, so they re-split if the source cell changes.
  </Step>
</Steps>

## Merge two columns

Add **Merge columns** from the catalog, choose the columns to combine under **Source columns**, and set a **Separator** to sit between their values. Turn on **Skip empty values** to avoid a dangling separator where one side is blank.

## Give a nested field its own column

An enrichment result that holds more than one field, like an address, can hand any one of them its own column. Open the field from a column's header menu or its cell drawer. Choose **Give a field its own column…**, or **Give this field its own column** from the drawer icon.

Choose **Create a new column** to add one linked to the parent. It recomputes when the parent does, and you can rename it like any other column. **Use an existing column** overwrites that column's values instead, and cannot be undone.

## Good to know

<AccordionGroup>
  <Accordion title="Can dedupe match on more than one column at a time?">
    No, one column per run. Run it again on a second column to narrow further.
  </Accordion>

  <Accordion title="Is removing duplicate rows the same as an automatic dedupe on new rows?">
    No. This is a one time cleanup you trigger yourself, not a standing rule that catches every row that arrives afterward.
  </Accordion>

  <Accordion title="Can I undo a dedupe?">
    A short window right after removal lets you undo it, the same as any row delete. Past that, the rows are gone for good.
  </Accordion>

  <Accordion title="Is there a limit on how many duplicate rows I can remove at once?">
    A very large batch may need running twice. The dialog tells you if it only cleared part of the table, so you can run it again for the rest.
  </Accordion>

  <Accordion title="What column types can't be split, merged or deduped?">
    A column holding a list or a nested object has no single value to compare or split, so **Dedupe** and splitting are unavailable on it.
  </Accordion>

  <Accordion title="Does giving a field its own column cost credits?">
    No. The new column reads a value the enrichment already fetched, so it has nothing new to compute.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Enrichment columns" icon="sparkles" href="/tables/columns/enrichment-columns">
    See where a multi-field result like this comes from.
  </Card>

  <Card title="Function columns" icon="sigma" href="/tables/columns/function-columns">
    Build a formula column like the one behind a merge.
  </Card>
</CardGroup>
