Binding Data: Group By, Value, Aggregation & Bucketing

Point a widget at a feed and shape it with the Group by, Value, and Split into series channels, time bucketing, and aggregation, with no formulas for the everyday path.

8 min read

On this page

Binding is how you tell a widget what to show: which feed to read, what to put on each axis, and how to summarize the numbers. You do it in the inspector's Data tab with plain controls, and the chart updates as you go. No formulas are needed for the everyday path (the Shape data dialog later on does let you write column expressions if you want them).

The rich controls on this page (date bucketing, aggregate, Keep top N, Spending/Income/Net) appear for the common chart kinds that show their fields as labeled chips: line, area, bar, column, scatter, pie, donut, and the like, plus the KPI, table, and gauge widgets. A handful of less common kinds (radar, treemap, box plot, heatmap matrix, and a few others) show a simpler Data tab: one plain field picker per role (Category, Value, and so on), with no bucket or aggregate dials. If your widget shows simple field pickers instead of chips, that is expected for those kinds.

Want to follow along? Build monthly spending

A concrete run-through, end to end: pick your Transactions feed as the source, set Group by to Date bucketed by Month, set Value to Amount, leave the aggregate on Sum, and set Show amount as to Spending. You now have a clean bar of monthly spend. Every step below explains one of those dials.
Binding a widget to live bank data via the inspector.

Choose a data source#

Each widget reads from one source. In the Data tab, pick the feed (or live bank source) the widget should chart. If you bound the wrong one, switch it here and your channel choices carry over where they still make sense: a field the new source also has (like Date or Amount) stays put, but any field the new source does not have is dropped, so a chip can come up empty after a switch. If that happens, just pick a replacement field from the now-empty chip.

The widget inspector's Data tab showing the source picker, a list of feeds and live bank sources the widget can read from, with one source selected.
Pick the feed or bank source the widget charts.

The channels#

A chart maps fields from your data onto visual roles. Each role is a labeled chip in the Data tab; tap a chip to pick its field and adjust how it behaves. Read each chip as the plain question it answers:

Group by

"What goes along the bottom?" The category or time field on the x-axis: merchant, category, or date.

Value

"What number am I measuring up the side?" The measure on the y-axis: amount, count, or balance.

Split into series

"Do I want one line per group?" An optional second category that splits one line or bar into several, one per value.

Those are the three roles you will reach for on almost every chart. (Some kinds expose a Color chip too, which works like a second Group by.)

The inspector Data tab Fields panel for a cartesian chart, with a Group by dimension chip (Merchant) stacked above a Value measure chip (Amount, summarized as sum, labeled spending).
The Fields panel: a Group by chip stacked above a Value chip.
The Value channel chip in the inspector, summing Amount, labeled as spending, showing the chip's plain-English 'sum · spending' summary.
The Value channel chip, summing Amount as spending.

Charting two numbers at once (combo charts)

There is no separate "Second value" chip. To put a second measure on a chart (for example bars for spend plus a line for count), you add it through the chart's own settings: bar-plus-line combos and a second y-axis are configured on the chart kind, not by a third channel. Start with one Value, then reach for the combo or secondary-axis option once the basics read right.

Bucketing dates#

When you Group by a date, you rarely want one point per day forever. Tap the date chip to open its Bucket by control and group dates into readable periods:

BucketShows
Day / Week / Month / Quarter / YearOne point per calendar period.
ExactEvery individual timestamp, no bucketing.

Pick the period that tells the story (monthly for a yearly trend, daily for a single month). You never write a date formula; the chart re-buckets instantly.

Cyclical buckets#

Below the calendar periods, a Cyclical section folds every date into a repeating cycle, which is exactly what you want for "when do I spend?" questions rather than "how much over time?":

Cyclical bucketAnswers
Hour of dayWhich hours see the most activity (0 to 23).
Day of weekWhich weekday you spend or earn the most.
Month of yearSeasonality across the calendar (every January grouped together, every February, and so on).

For example, Group by Date set to Day of week turns a year of transactions into a seven-bar chart of spend by weekday.

The Bucket by control is a segmented set of the calendar periods (Day through Year, plus Exact), with the Cyclical options (Hour of day, Day of week, Month of year) tucked into a section below it, so the whole choice lives on one popover off the date chip.

The time channel chip in the inspector with its bucket set to Month, showing the chip's 'Group by · Date · by month' summary.
A date field bucketed by month.

Aggregating the value#

When several rows fall into the same group (all of January's transactions, say), BankSync combines them. The Value chip's Aggregate control chooses how. Sum, Average, and Count sit right on the control; the rest live under the Advanced section of the same chip:

AggregateCombines rows by
SumAdding them up (total spend).
AverageTheir mean.
CountHow many there are.
LastThe latest value in each period (the right choice for balances; see the callout below).
FirstThe earliest value in each period.
NoneOne mark per row, no combining at all.
Min / Max / MedianThe smallest, largest, or middle value.

On the Value chip's popover, Sum, Average, and Count sit on a segmented control at the top, the Show amount as option follows directly beneath, and the remaining aggregates (Last, First, None, Min, Max, Median) live under the chip's Advanced section.

Sum is not always right

Sum is correct for flows like spending or fees, but wrong for balances. Adding Monday's balance to Tuesday's is meaningless, so BankSync defaults balance-like measures to the Last value in each period instead of summing (that is the Last aggregate in the table above, selected for you). Check the aggregate matches what the number means before trusting a total.

Spending, income, or net#

This is the control a finance reader reaches for most. When the Value chip is bound to a signed spending field (the kind where money out is negative, like the Transactions feed's Amount), a Show amount as option appears on the chip and flips the sign so the chart reads naturally:

  • Spending: money out, shown as a positive number.
  • Income: money in only.
  • Net: income minus spending (the signed total).

You pick the meaning; BankSync handles the math.

Don't see Show amount as?

It only shows for signed spending columns. A plain balance, an income-only column, or an amount where money out is already positive will not offer it, because the sign-flip would not mean anything for those. If the option is missing, your column simply does not need it.

Keep the top few categories#

A category with hundreds of values makes an unreadable chart. On a Group by chip, Keep top limits it to the largest few; a "Group the rest as Other" switch rolls everything else into a single "Other" slice. So a pie of 387 merchants becomes a clean top-10-plus-Other. (This control appears on category chips, not on date or measure chips.)

Both controls sit on the Group by chip's popover: a Keep top stepper for the count and, directly under it, the "Group the rest as Other" switch.

Advanced: running totals and shares#

Open the Advanced section on the Value chip to restate the number without changing the underlying data. The Show as control here offers:

  • None: the value as-is.
  • % of total: each value as a share of the whole.
  • Cumulative: a running total across the groups.

Advanced also holds Number format (currency, percent, or plain, with decimal control) and, for less common aggregates, an "Aggregate (other)" picker with Min, Max, Median, Last, and First.

Two controls named alike

"Show amount as" (Spending / Income / Net, on the main chip) and the Advanced "Show as" (None / % of total / Cumulative) are two separate controls. The first decides which direction of money you are counting; the second restates that number as a share or a running total. You can use both at once.

If a number looks doubled

If a Value chip shows an amber warning that reads "Already aggregated in Shape data," it means the field was already summarized once in the Shape data step (a query-level total) and the chart is summing it a second time. The chip offers a one-tap Set to None to stop the second pass, so the chart shows the already-summarized number as-is. Trust the warning: it is there to stop a wrong total.
A Value channel chip in the inspector showing the 'Already aggregated in Shape data' double-count warning, with a one-tap Set to None action to reset the aggregate.
The double-count warning offers a one-tap Set to None fix.

Joining feeds and shaping data#

The channels cover the common case of one feed. When you need more, open Shape data from the Data tab. That dialog is a multi-step pipeline, kept out of the everyday channel controls so the simple path stays simple. Each step does one thing:

  • Filter: drop rows before charting (for example, only this year).
  • Summarize: group and total rows at the data level (this is the step that, if you then also aggregate on the chart, triggers the double-count warning above).
  • Sort and Limit: order the rows and keep the first few.
  • Compute: derive a new column with an expression. This is the one place the everyday "no formulas" rule does not apply.
  • Join: combine two feeds into one source.
The Shape data pipeline editor as an ordered list of collapsed step cards (Filter, Compute, Summarize, Sort, Limit), each showing a one-line summary of a realistic finance transform.
The Shape data pipeline: each step does one thing, top to bottom.

Binding into a table#

A Table widget binds fields as columns rather than axes, but the idea is the same: you choose which fields appear and how each one reads. Beyond plain text and numbers, a column can render as currency, a status pill, a progress bar, a tiny sparkline, a heat-shaded cell, a duration, a rating, a chip list, a link, and more. So your Amount column can show as money, and a category column can show as colored pills. The per-column formatting lives in the table widget's own controls; see the KPI, table and gauge guide for how to set each column's display.

Add dashboard filters

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.