Product

Building a Filtered Revenue Report Without Writing SQL

The DataQloo Team··1 min read

The goal

Total revenue by region, for active accounts only, highest region first — a common enough report that most teams have written this exact query by hand at some point.

Step 1: connect the source

Drop an Input node on the canvas and select your accounts table via a saved PostgreSQL connection. If you haven't saved one yet, the Input node's picker lets you configure it inline.

Step 2: filter to active accounts

Add a Filter node after the Input node, and set the condition to Status = active. The canvas label updates immediately to show exactly what's being excluded — no need to open the node to remember what it does.

Step 3: summarize by region

Add a Summarize node, set the measure to SUM(Revenue), and group by Region. The node's label reads "Revenue — SUM · by Region," matching how you'd describe the metric out loud.

Step 4: sort, highest first

Add a Sort node on Revenue, descending.

Step 5: check the result — and the query

Attach a Browse node to see the results grid, the inferred schema, a data profile, and the SQL tab — which will show something close to:

SELECT region, SUM(revenue) AS revenue
FROM accounts
WHERE status = $1
GROUP BY region
ORDER BY revenue DESC

Five nodes, no SQL written by hand, and the exact query fully visible if you want to verify it or hand it to an engineer.

Where this workflow would hit a wall

This example works because it needs exactly one filter and one aggregation. A more complex report — joining accounts to a separate orders table, for instance — isn't possible yet; Join nodes aren't built. Worth knowing before you plan a more ambitious workflow.

ShareXLinkedIn

Related reading

Get new posts by email

Engineering notes and product updates from the DataQloo team, occasionally.