# Profiler

Profiler helps you understand a table's structure, quality, and column-level patterns from the asset details page. You can generate a new profile, review historical runs, and compare how the table looked at different points in time.

## What you can do in Profiler

Use Profiler to:

* Generate a new profile for a table asset
* View the results from the latest and past profile runs
* Review table-level and column-level statistics

{% hint style="info" %}
Profiler replaces the previous Field Statistics experience and stores historical results so you can access them later.
{% endhint %}

<figure><img src="https://1779874722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTw0qpCVzfrIXqS4FEg4T%2Fuploads%2FrBZ2nZ63VDURMH7iePy0%2FSCR-20260317-pfat.png?alt=media&#x26;token=ae07189e-285a-413f-8d84-ec08ce9c3087" alt=""><figcaption></figcaption></figure>

## Generate a new profile

To create a new profile for a table:

1. Open the table asset in the Catalog.
2. Click the **Profile** tab.
3. Click **Generate a new profile**.
4. Wait for the profile to complete, or navigate away and return later.

When the profile starts, a new entry appears in the historical profiles list with an **In Progress** status.

## How profile generation works

* Profiler supports one active profile job per asset at a time.
* The profiling job continues in the background even if you leave the page. You can return later to check the results.
* Very wide tables can hit profiling limits at around 250 columns. This is a rough guideline because numeric columns generate more metrics than non-numeric columns.
* Certain sources have limitations on profiling large or wide tables, which can lead to failed runs. For source-specific details, see [Profiler source support and limitations](https://docs.decube.io/catalog/profiler/profiler-source-support-and-limitations).

## Review profiling results

Each successful profile includes table-level statistics and column-level statistics.

### Table statistics

At the top of the results page, Decube shows summary statistics for the table in separate metric cards.

Depending on the data source, these cards can include:

* Total row count
* Sampling row count
* Whether the value is calculated exactly or estimated

If a statistic is not supported for the connected source, Decube does not show that metric card.

<figure><img src="https://1779874722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTw0qpCVzfrIXqS4FEg4T%2Fuploads%2FA97OaaBd1TE9uFo9nAq0%2FSCR-20260317-ogmn.png?alt=media&#x26;token=a0920bbb-347a-41ef-98e3-bf646cb530eb" alt=""><figcaption><p>Profile results showing table-level metric cards and column-level statistics for a successful run.</p></figcaption></figure>

### Column statistics

The column statistics table shows one row per column and can include:

* Column name
* Data type
* Null count and null percentage
* Unique count and unique percentage
* Additional metrics based on the column type

Depending on the data type and source, additional metrics can include values such as:

* Minimum and maximum values
* Mean, median, and standard deviation
* Zero count and zero percentage
* Minimum, maximum, and average string length
* Empty string count and empty string percentage
* True and false counts and percentages

## Understand unsupported values

Some profile metrics depend on the connected source, the table type, and the column data types.

If a metric is not available for a column or source, Decube shows it as `Unsupported` or does not display the metric at all.

Common reasons include:

* The source does not support a specific metric
* The column data type is not supported for profiling
* The result is based on an estimated row count instead of an exact count
* The source has engine-specific limits for profiling large or wide tables

## Source-specific behavior

Profiler behavior varies by source. For example, some connectors use exact row counts while others rely on estimates from source metadata. Some metrics, such as median or unique counts, are also unavailable on specific engines.

For source-specific limitations, sampling behavior, and unsupported metric types, see [Profiler source support and limitations](https://docs.decube.io/catalog/profiler/profiler-source-support-and-limitations).

## Permissions

To generate a profile, you need permission to create profiles for the asset.

If your access is removed, you can no longer open the Profile tab even if a profile job is already in progress.

For access setup details, see [Source-based Policies](https://docs.decube.io/group-access-policies/source-based-policies).

## FAQ

### Why do I not see any column results?

If the asset has no columns, if none of its columns are supported for profiling, or if the table is wide enough to hit profiling limits, the profile run can return an error state instead of results.

### Why is a newly added column missing from the profile?

Profiler uses the metadata available in Decube at the time the profile runs.

If you add a new column in the source and run a profile before the next metadata ingestion completes, the new column does not appear in that profile result. The column appears only in profiles generated after the next metadata ingestion updates the asset schema in Decube.

### Why does a historical profile show old columns?

Historical profiles are snapshots of the asset at the time the profile was generated. If the schema changes later, older profile runs can still show columns that no longer exist in the current table.

### Can I delete old profiles?

No. Historical profiles are retained and shown in reverse chronological order, with the newest run first.
