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

# Lineage

> Datafold offers a column-level and tabular lineage view.

## Column-level lineage

Datafold's column-level lineage helps users trace and document the history, transformations, dependencies, and both downstream and upstream processes of a specific data column within an organization's data assets. This feature allows you to pinpoint the origins of data validation issues and comprehensively identify downstream data processes and applications.

To view column-level lineage, click on the **Columns** dropdown menu of the selected asset.

<Frame caption="Lineage Graph Columns Dropdown">
  <img src="https://mintcdn.com/datafold/hQ4DukKOuaj6vjhH/images/data_app_lineage_graph_columns-97a1aa84140dc7bd0b242eb70d6e5d81.png?fit=max&auto=format&n=hQ4DukKOuaj6vjhH&q=85&s=a02dc2c18664786f79cf7bd4524e704e" width="1288" height="717" data-path="images/data_app_lineage_graph_columns-97a1aa84140dc7bd0b242eb70d6e5d81.png" />
</Frame>

### Highlight path between assets

To highlight the column path between assets, click the specific column. Reset the view by clicking the **Exit the selected path** button.

<Frame caption="Selected Path in Lineage Graph">
  <img src="https://mintcdn.com/datafold/Q7OqZ4fuuETHBSvX/images/data_app_lineage_selected_path-ae2fb8bab8b62f9479a6e148a399bc5a.png?fit=max&auto=format&n=Q7OqZ4fuuETHBSvX&q=85&s=0e261d393437069ff59ed1dd705569d8" width="1293" height="704" data-path="images/data_app_lineage_selected_path-ae2fb8bab8b62f9479a6e148a399bc5a.png" />
</Frame>

## Tabular lineage

Datafold also offers a tabular lineage view.

You can sort lineage information by depth, asset type, identifier, and owner. Click on the **Actions** button for further options:

<Frame caption="Tabular Lineage Actions Dropdown">
  <img src="https://mintcdn.com/datafold/4ZNRDufNo9R1p08Q/images/tabular_lineage_actions_dropdown-b583e8f59c747058d8a5c95ed6d12843.png?fit=max&auto=format&n=4ZNRDufNo9R1p08Q&q=85&s=a2b72b5aafae515768c8f6bf8163ce66" width="1354" height="432" data-path="images/tabular_lineage_actions_dropdown-b583e8f59c747058d8a5c95ed6d12843.png" />
</Frame>

### Focus lineage on current node

Drill down onto the data node or column of interest.

### Show SQL query

Access the SQL query associated with the selected column to understand how the data was queried from the source:

<Frame caption="Show SQL Query in Tabular Lineage">
  <img src="https://mintcdn.com/datafold/4ZNRDufNo9R1p08Q/images/tabular_lineage_actions_show_sql_code-da905cea8201954e3b0eb17f3fe108de.png?fit=max&auto=format&n=4ZNRDufNo9R1p08Q&q=85&s=285cc3de38895e398d74761a28927821" width="1229" height="843" data-path="images/tabular_lineage_actions_show_sql_code-da905cea8201954e3b0eb17f3fe108de.png" />
</Frame>

### Show usage details

Access detailed information about the column's read, write, and cumulative read (the sum of read count including read count of downstream columns) for the previous 7 days:

<Frame caption="Usage Details in Tabular Lineage">
  <img src="https://mintcdn.com/datafold/4ZNRDufNo9R1p08Q/images/tabular_lineage_actions_usage_details-c0462ebd7bee2bc769169ff2b7640d56.png?fit=max&auto=format&n=4ZNRDufNo9R1p08Q&q=85&s=962e7831072bdca9461ea7af185013ba" width="822" height="386" data-path="images/tabular_lineage_actions_usage_details-c0462ebd7bee2bc769169ff2b7640d56.png" />
</Frame>

## Search and filters

Datafold offers powerful search and filtering capabilities to help users quickly locate specific data assets and isolate data connections of interest.

In both the graphical and tabular lineage views, you can filter by tables or columns within tables, allowing you to go as granular as needed.

<Frame caption="Search and Filter in Tabular Lineage">
  <img src="https://mintcdn.com/datafold/4ZNRDufNo9R1p08Q/images/tabular_lineage_actions_search-f5cef28a24e5a1603e5c04d9696a4ff8.png?fit=max&auto=format&n=4ZNRDufNo9R1p08Q&q=85&s=e43f245bfe7f2a29932374343f0dd517" width="1351" height="317" data-path="images/tabular_lineage_actions_search-f5cef28a24e5a1603e5c04d9696a4ff8.png" />
</Frame>

### Table filtering

Simply enter the table's name in the search bar to filter and display all relevant information associated with that table.

### Column filtering

To focus specifically on columns, you can search using a combination of keywords. For instance, searching "column table" will display columns associated with a table, while a query like "column dim customer" narrows the search to columns within the "dim customer" table.

## Settings

You can configure the settings for Lineage under Settings > Data Connections > Advanced Settings:

<Frame caption="Lineage Advanced Settings">
  <img src="https://mintcdn.com/datafold/BHI8Zy_v4DyXlmzL/images/lineage_advanced_settings-8787d8f5b01d1a6572b2d73f486ad49a.png?fit=max&auto=format&n=BHI8Zy_v4DyXlmzL&q=85&s=685c29c694dcf151d533fb4d6922293f" width="1180" height="581" data-path="images/lineage_advanced_settings-8787d8f5b01d1a6572b2d73f486ad49a.png" />
</Frame>

### Schema indexing schedule

Customize the frequency and timing of when to update the indexes on database schemas. The schedule is defined through a cron tab expression.

### Table inclusion/exclusion

You can filter to include and/or exclude specific tables to be shown in Lineage.

When the inclusion list is set, only the tables specified in this list will be visible in the lineage and search results.

When the inclusion list is not set, all tables will be visible by default, except for those explicitly specified in the exclusion list.

### Lineage update schedule

Customize the frequency and timing of when to scan the query history of your data warehouse to build and update the data lineage. The schedule is defined through a cron tab expression.

## FAQ

<AccordionGroup>
  <Accordion title="How is lineage computed?">
    Datafold computes column-level lineage by:

    1. Ingesting, parsing and analyzing SQL logs from your databases and data warehouses. This allows Datafold to infer dependencies between SQL statements, including those that create, modify, and read data.
    2. Augmenting the metadata graph with data from various sources. This includes metadata from orchestration tools (e.g., dbt), BI tools, and user-provided documentation.
  </Accordion>

  <Accordion title="Is there a programmatic way to retrieve lineage?">
    Currently, the schema of the Datafold GraphQL API, which we use to expose lineage information, is not yet stable and is considered to be in beta. Therefore, we do not include this API in our public documentation.

    If you would like to programmatically access lineage information, you can explore our GitHub repository with a few examples: [datafold/datafold-api-examples](https://github.com/datafold/datafold-api-examples). Simply clone the repository and follow the instructions provided in the `README.md` file.
  </Accordion>
</AccordionGroup>
