Vertly Help Center
Reports & Dashboards

Query Builder

Ad-hoc measures, dimensions and filters — no SQL.

The query builder is for the one-off question that doesn't fit an existing report: pick a measure, an optional dimension to group by, and any filters, and get a chart back.

Measures and dimensions

Measures span delivery data (PR counts, cycle time, review rounds, CI failure rate, lines changed, and more), Jira data (issue counts, sprint scope change), Agent Activity (PRs opened and merged by an AI coding agent, merge rate, review coverage — see Agent Identities for how a login gets classified as an agent), and Anomalies (how many anomalies were detected, groupable by rule, severity, or repo, and filterable by rule, severity, and status — the same detections shown on the app's Anomalies page). Not every measure supports every dimension — the UI only offers groupings that measure actually supports.

Every other pull-request measure excludes bot- and agent-authored PRs by default, since they'd otherwise skew cycle time and throughput numbers — that's what the Agent Activity family exists to surface separately. Use the Author kind filter to switch a query between "all" (the default, bots/agents excluded), "AI agents only," or "humans only."

Comparing to the previous period

For a query with no group-by, check "Compare to previous period" to show each measure's change against the immediately preceding period of the same length (for example, the 30 days before a 30-day range) — the same delta shown on the home page's stat tiles. This carries through when you save the query or add it to a dashboard, so a saved query or dashboard tile reopens with the toggle in the state you left it.

Drilling into a chart

Click a bar or a point on a trend line to open the underlying records — the actual PRs, issues, reviews, or other rows behind that number — in a popup. This works the same way on dashboard tiles built from the query builder.

Not every bar is drillable: when a chart is grouped by a dimension with a lot of distinct values, the smallest groups are folded into a single "Other" bar to keep the chart readable. That bar has no single underlying group, so it isn't drillable on its own — narrow a filter (for example, by author) to bring the group you want back into the main chart.

Table view

Toggle from Chart to Table to see the matching records as a plain list instead of a chart, with a column picker to choose which fields to show. This is useful when you want the raw rows rather than a count or average — for example, listing the PRs merged this month rather than just counting them. Table view isn't available for every measure — ratios and a few computed measures don't have an underlying record list.

Saving a query

A query you're happy with can be saved as a dashboard tile directly from the query builder, so it becomes a live, reusable dashboard tile instead of a one-time chart. Column selection isn't part of what's saved — a saved query always reopens showing every column. "Add to dashboard" does track which view you're on, though: use it while in Table view to add a Table tile, or Chart view to add a chart/stat tile — see Custom Dashboards.

On this page