Downloading Data from a Widget
Downloading Data from a Widget
However good your dashboard is, someone will want the data in Excel. Fighting that instinct is a losing battle — the better move is to understand exactly what the export gives them, and to design for it.
Every widget has a Share action of its own, and inside it a download option. You choose a format:
Image
A picture of the widget as it currently looks. For slides and documents — no data underneath it.
Excel
An .xls export of the widget's result set, formatted and ready to open.
CSV
The same result set as plain comma-separated text — the right choice if it's feeding another system.
What you actually get: the query, not the dataset
This is the concept that saves users an enormous amount of confusion.
A download exports the result of the widget's query — not the dataset behind it. So what lands in your spreadsheet depends entirely on what kind of widget you exported from.
Download from a grouped chart
A bar chart grouped by stage showing sum of amount returns exactly that: one row per stage and one amount column. The grouping IS the query — there is no underlying detail in the result to export.
Download from a values table
A values table is ungrouped, row-level output. Export it and you get every column you put on the table, one row per record — the detail users are actually asking for.
So when a user says "the export only gave me four rows", they didn't hit a bug — they exported a chart with four bars. The fix is to give them something to export from: a values table containing the columns that matter.
The 100-row limit
A values table doesn't render every row by default — it's capped at 100 rows. That cap applies to what the widget queried, and therefore to what you can export. Nobody's spreadsheet stops at exactly 100 rows by coincidence.
You can raise it. In the widget's query settings there's a limit you can increase.
- 1
Open the values table's query
Edit the dashboard, select the widget, and open the query it's bound to.
- 2
Find the row limit
The values table's limit is set on the query — 100 by default.
- 3
Raise it deliberately
10,000 is the supported ceiling for this kind of export. Set it to what the use case genuinely needs, not to the maximum by reflex.
Can you go beyond 10,000? Technically, yes — the limit will accept a larger number. But past that point you're outside what's supported, and the real constraint stops being the platform and starts being the browser. The result set has to be rendered and held client-side, so very large tables get slow, unreliable, and prone to simply failing on someone's laptop. Don't build a business process on it.
Downloading needs a permission
Exporting isn't automatically available to every user — it's governed by a permission on the user's permission set. If a user tells you the download option is missing or greyed out, that's the first thing to check, not the dashboard configuration.
That's also the lever to pull in the other direction: in organizations where data leaving the platform is a compliance concern, you control it centrally by simply not granting the permission, rather than by trying to design exports out of your dashboards.
Exports answer "give me the data". The next lesson answers a related but different request — "I need a cut you didn't build" — with self-service exploration.
Discussion
No comments yet — be the first to start the discussion.