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

# Databases basics

> Databases store raw and modeled business data in rows, then make that data available to drivers, formulas, pages, and reports.

Databases are where source data becomes structured model data. Use a database when you need rows of real things, such as transactions, employees, deals, vendors, or assumptions, that can be segmented, rolled up, and referenced by drivers.

## What is a database?

When you connect an integration, your data flows into a database. You can then create additional databases that pull from the original database and aggregate the data at different levels. For example, if you import GL data with vendor-level details from QuickBooks, NetSuite, or Xero, you can build another database that rolls it up by department or class.

## Creating a database

<Steps>
  <Step title="Create the database">
    Click the **+** button next to a section or page in the sidebar.
  </Step>

  <Step title="Choose the type">
    Select **Database** and give it a clear name, icon, or emoji.

    <Frame>
      <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases/1/create.gif?s=b554e7d11e0f78522f33fbbeadcdfbc0" alt="Sidebar creation menu with Database selected" width="800" height="375" data-path="images/databases/1/create.gif" />
    </Frame>
  </Step>
</Steps>

## Configuring a database

After creating a database, configure the source, drivers, and segmentation that determine its grain.

<Steps>
  <Step title="Open configuration">
    Click the **configuration** header to expand it.
  </Step>

  <Step title="Choose the data source">
    Select an existing integration query or another database.
  </Step>

  <Step title="Choose drivers">
    Choose the key metrics or dates you want to track as time series data.
  </Step>

  <Step title="Choose dimensions">
    Select the dimensions to segment your data. Segmentation determines the database's granularity.
  </Step>

  <Step title="Add other columns">
    Add useful metadata from the data source under **Other columns**.
  </Step>
</Steps>

For example, if you are pulling in GL data at the most granular level, you might select **Amount** as the driver, use **Account Name**, **Class**, and **Vendor** as dimensions, and include **Account Type** under **Other columns**.

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases-config.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=f8813e322e3a655a8ff1a6062b7783e6" alt="Database configuration panel with data source, drivers, and dimensions" width="2510" height="1680" data-path="images/databases-config.png" />
</Frame>

The dimensions you use to segment your data appear alongside the driver name across the app, including in tables and charts. To improve readability, use only the dimensions needed to define the database's grain. Add extra metadata under **Other columns** instead.

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/_tyDrsjKuAGqMAvO/images/dimensions-pills.png?fit=max&auto=format&n=_tyDrsjKuAGqMAvO&q=85&s=fd3078302fc1a72b31590d77916fcd90" alt="Dimension pills displayed beside a database-backed driver" width="2290" height="1694" data-path="images/dimensions-pills.png" />
</Frame>

<Tip>
  To inspect the structure of your source data before confirming the database, use the preview table.
</Tip>

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases-config-preview.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=547e6896a57e13be40656bacd7d1ddd1" alt="Database configuration preview table" width="2322" height="1204" data-path="images/databases-config-preview.png" />
</Frame>

<Tip>
  To limit the database to a subset of source data, apply a filter within the database configuration.
</Tip>

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases-config-filters.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=8f36ed27f67850a5117fd920f2ec7cb1" alt="Database configuration filter panel" width="2446" height="1046" data-path="images/databases-config-filters.png" />
</Frame>

## Adding a column

To create a new column, click the **+** button at the far right of the database. You can add:

* **Number driver:** Calculated numeric values. Drivers store time series data, so values can vary by month.
* **Date driver:** Date values that can also vary over time.
* **Dimension:** A predefined list of values that categorizes rows, such as Vendor, Location, or Department.
* **Lookup:** A column that populates a dimension based on data from another database, similar to `VLOOKUP()`.

<Note>
  For HRIS databases, follow the separate [HRIS database column flow](/concepts/databases/hris-databases#adding-columns-to-hris-databases).
</Note>

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases-new-column@2x.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=181b250aa79cb865b832483642fe9a2b" alt="Database add-column menu with driver and dimension options" width="2590" height="1132" data-path="images/databases-new-column@2x.png" />
</Frame>

## Show a column as time series

Drivers store time series data. In database tables, each driver column is usually displayed as a single value for readability, but you can expand one driver column to show its monthly values.

<Steps>
  <Step title="Open the column menu">
    Click the driver column name in the database header.
  </Step>

  <Step title="Show time series">
    Select **Show as time series**. The column expands on the far right after the other columns.

    <Frame>
      <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases/1/show-column-as-timeseries.gif?s=0f393c95cb79202c496149605d959988" alt="Database column expanded as a time series" width="800" height="362" data-path="images/databases/1/show-column-as-timeseries.gif" />
    </Frame>
  </Step>
</Steps>

<Note>
  If you show a different driver column as a time series, it replaces the currently expanded one.
</Note>

By default, each row shows forecast formula, actuals formula, and time series data for the selected date range. You can hide formula columns from column menus, from **Customize** > **Properties**, or with the shortcuts listed in [Keyboard shortcuts](/get-started/keyboard-shortcuts).

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases-hide-column.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=bbf8615f649b6ffb2f5f36ca1f8fb1ef" alt="Database column menu with Hide in blocks selected" width="3046" height="1380" data-path="images/databases-hide-column.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases-properties.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=930cd1c58798bf44f718432f24a6f547" alt="Database properties panel with column visibility controls" width="3046" height="1380" data-path="images/databases-properties.png" />
</Frame>

To return the driver column to a single value, click the column name again and select **Show as value**.

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases-show-as-value.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=d8dcb617d7e1179641547f60c3a6def5" alt="Database column menu showing Show as value" width="3046" height="1380" data-path="images/databases-show-as-value.png" />
</Frame>

## Show all columns as time series

Instead of expanding only one driver column, you can display all driver columns as time series.

<Steps>
  <Step title="Open customize">
    Click **Customize** in the top-right corner.
  </Step>

  <Step title="Choose time series">
    Select **Display as**, then choose **Time series**.

    <Frame>
      <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/databases/1/show-all-as-timeseries.gif?s=a15f058e42e9adcce58c6b5e7b8274aa" alt="Database switched to time series display" width="800" height="365" data-path="images/databases/1/show-all-as-timeseries.gif" />
    </Frame>
  </Step>
</Steps>

When you switch to this view, each former row becomes a section, and dimensions and drivers that were shown as columns become rows.

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/database-as-timeseries.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=f2e460a754729ef0aa3eecce6d79a5c9" alt="Database time series orientation with drivers as rows" width="3086" height="1824" data-path="images/database-as-timeseries.png" />
</Frame>

## Show and hide columns

For a compact view, hide columns that are not always relevant and show them only when needed.

<Steps>
  <Step title="Use the column header">
    Click the column name in the database header and select **Hide in block**.
  </Step>

  <Step title="Use customize">
    Or click **Customize**, open **Properties**, and toggle columns with the eye icon.

    <Frame>
      <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/database-hide-in-block.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=56016afafab1a0495e0462e6fcc3b180" alt="Database column hidden from a block" width="1752" height="1188" data-path="images/database-hide-in-block.png" />
    </Frame>
  </Step>
</Steps>

## Adding a row

If you need to manually add a row to a database, click **+ Add item**. After adding the row, set values for the dimensions used in **Segment by**.

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/database-add-row.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=e769f040667705b6c92a29d8e5b81bf1" alt="Database with a manually added row" width="2804" height="1700" data-path="images/database-add-row.png" />
</Frame>

<Note>
  Segmentation determines the granularity of your database. Each row should have a unique combination of dimension values. If a row does not have a unique combination, Runway shows a warning because that row is linked to other rows with the same segmentation.
</Note>

For HRIS databases, follow the [HRIS database row flow](/concepts/databases/hris-databases).

## Deleting a column

The deletion flow depends on how the column was added.

<Steps>
  <Step title="Remove configured columns from configuration">
    For columns coming from database configuration, remove the column from the relevant section in configuration: Driver, Segment by, or Other columns. This prevents it from reappearing after the next integration sync or configuration refresh.

    <Frame>
      <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/database-remove-from-config.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=91f41bf97943e612d919a76b0932a99d" alt="Database configuration with a column removed from configuration" width="2452" height="1334" data-path="images/database-remove-from-config.png" />
    </Frame>
  </Step>

  <Step title="Delete manually added columns from the column header">
    For manually added columns, click the column header and select **Delete property**. If the column is used elsewhere in your model, Runway asks you to confirm because deleting it can cause reference errors.

    <Frame>
      <img src="https://mintcdn.com/runway-5055a12e/vafQYSeDpH6RaQ2G/images/database-delete-property.png?fit=max&auto=format&n=vafQYSeDpH6RaQ2G&q=85&s=e6292c042ae420fc0d15d85c0a7986c1" alt="Database column menu showing Delete property" width="2452" height="1334" data-path="images/database-delete-property.png" />
    </Frame>
  </Step>
</Steps>

## Deleting a row

To delete a row from a database, right-click the row and select **Delete row**.

<Warning>
  Deleting a row removes it from the database, but it does not delete the drivers connected to that row. Any formulas relying on those drivers remain unchanged, and the drivers still appear in your **Unlisted Drivers** page.
</Warning>

To fully delete a driver and eliminate its impact on formulas, delete it from **Unlisted Drivers**.

<Frame>
  <img src="https://mintcdn.com/runway-5055a12e/wYNFXrpTLTSnjdee/images/unlisted.png?fit=max&auto=format&n=wYNFXrpTLTSnjdee&q=85&s=ecd03761ca3d8e4ff8697a84e6d1ed48" alt="Unlisted Drivers page showing drivers not present on a page or model" width="1618" height="1426" data-path="images/unlisted.png" />
</Frame>

## What's next

* [Formulas in databases](/concepts/databases/formulas-in-databases)
* [Segmenting drivers](/concepts/dimensions/segmenting-drivers)
* [Database block](/concepts/pages/database-block)
