Last updated: 2026-04-29

Data Profiling

Get a quick read on any column without writing aggregation SQL. Distribution histograms, quartiles, distinct counts, and top frequent values — at the speed of a popover, or as a deep workspace tab.

Data Profile workspace tab in Server mode showing column list on the left and summary, distribution histogram, and top values for the focused numeric column.

Two Ways to Profile

Data profiling is built into the places you already work with data: results grids, the Table Explorer, and the Object Explorer. Both experiences share the same set of statistics.

1. Inline Popover

A small badge appears under each column header in the results grid and Table Explorer when profiling is enabled. Click the badge to open a compact popover with the column's summary, mini histogram, and top values.

  • Toggle the badges in the Table Explorer toolbar to keep the grid clean when you don't need profiling.
  • The popover renders from the rows currently loaded in the grid — instant, but bounded by what you've fetched.
  • Use Open full profile → at the bottom of the popover to switch to the workspace view.
Inline column profile popover open on a numeric column header showing summary stats, mini histogram, and top values.

2. Workspace Tab (Profile Data)

Right-click any table or column in the Object Explorer and choose Profile data. A dedicated workspace tab opens with the full layout: column list on the left, summary + histogram + top values on the right, and a footer that controls the data source and scope.

Summary Statistics

For every column, the profile reports:

  • Total / Non-null / Nulls with null percent
  • Distinct count (capped at 10,000 in summary mode)
  • Min / Max / Avg for numeric and date columns
  • p25 / p50 / p75 quartiles for numeric columns
  • Detected data type

Histograms

The histogram card shows the distribution of a numeric column.

  • Bucket count: 8 (default), 16, or 32 buckets.
  • Equal-width: bucket boundaries are evenly spaced between min and max.
  • Quantile: bucket boundaries follow the data distribution (every bucket has roughly the same count). Useful for skewed columns.
Data Profile histogram card with Quantile mode active and 16 buckets — bucket boundaries follow the data distribution.

Top Values

The top values card lists the most common values for the focused column. Choose 5, 10, 25, or 50 entries.

Server Mode vs Sample Mode

The footer mode toggle decides where the numbers come from.

ModeHow it worksWhen to use
ServerPer-engine aggregation SQL runs against the live table (or a filtered subset). Distinct counts, percentiles, histograms — all computed by the database.Accuracy on whole tables. Default mode when opening from the Object Explorer.
SampleA bounded batch of rows is fetched once, then all stats are derived in-memory.Quick exploration. Approximate but instant — useful for huge tables or when iterating on a column.

Switch modes from the footer. The scope text on the right of the footer always reflects what you're looking at: "Profile based on entire table", "first 10,000 rows", or with a filter applied.

Data Profile workspace tab in Sample mode showing the sample-size selector and instant in-memory statistics.

Profiling Big Tables

When a table is large, profiling the whole thing can be slow. Two ways to scope down:

  • Switch to Sample mode and pick a sample size (1,000 / 5,000 / 10,000 / 50,000 / 100,000 rows).
  • Apply a filter in the Table Explorer (WHERE clause + row cap) — when you click Profile data, that filter is carried into the profile tab automatically.

Copy to Markdown

The header of the profile tab has a copy-to-markdown button. It writes a clean markdown block — column summary, histogram bins, and top values — straight to the clipboard. Paste it into PR descriptions, tickets, design docs, or AI chat.

Per-Engine Behavior

EngineQuartilesQuantile histogramEqual-width histogram
SQL ServerPERCENTILE_CONTNTILEWIDTH_BUCKET fallback
PostgreSQLPERCENTILE_CONTNTILEWIDTH_BUCKET
OraclePERCENTILE_CONTNTILEWIDTH_BUCKET
MySQLROW_NUMBER fallbackROW_NUMBER fallbackCASE expression
SQLiteROW_NUMBER fallbackROW_NUMBER fallbackCASE expression

Profile Your First Column

Download Jam SQL Studio and explore your data with one click.