Troubleshooting and limits#
This page collects the numbers and the messages that the rest of the Reporting and Data Modeling guide mentions one at a time. Find the area you are in, match the message you see to the text in quotes or a code span, and read across to what it means and what to do.
Where a message is quoted, it is the product's own wording. Names in angle brackets, such as <name>, stand for your own report, sheet or filter.
Find your problem#
| You are working in | Go to |
|---|---|
| Any size, row or cell ceiling | Limits |
| A data model variable that is "refused" | Refused variable values |
| A control that says "coming soon", or a job that names the license | License messages |
| A view, a joined view or a global parameter | Data models |
| The web report studio | The web report studio |
| The viewer, a download or a burst | The viewer, downloads and burst |
| Convert to Excel | Convert to Excel |
| A distribution job whose source is a web report or a converted workbook | Jobs over web reports |
Limits#
Every number below is a limit of the product as it ships. An administrator can change the ones marked as settings. Nothing is cut silently: a report that passes a limit is refused with a message that says so.
The sheet and the report#
| Limit | Value | Notes |
|---|---|---|
| Rows on a web report sheet | 1,000 | A list taller than this draws the rows that fit and says so. |
| Columns on a web report sheet | A to AZ (52) | A formula that points past row 1,000 or column AZ shows #REF!. |
| Where a report may sit in the Excel add-in | Up to XFD1048576 | Current Excel for Windows, Mac and the web. An older or unrecognized client works in A1:AZ1000 as the studio does. |
| Where a report may end when a job refreshes it | Row 1,048,576 and column XFD | A job uses Excel's sheet, not the studio's. |
| Sheet name | 31 characters | It cannot contain [ ] : * ? / \ and cannot start or end with an apostrophe. |
| Largest report | 2,000,000 cells by default | A setting: Settings > Configuration > Excel add-in > Largest report (cells), from 1 to 5,000,000. A report over it is refused, never cut. |
| A render held for confirmation | Above 100,000 cells | A setting, Ask above (cells), in the same place. A list or crosstab over it asks before it writes. |
| Chart kinds and map kinds | 13 and 2 | Chart pictures from a job are drawn at three times the on-sheet size. |
| A map place | Latitude -90 to 90, longitude -180 to 180 | A place outside is left off the map and the Places page counts them. A place with a blank latitude or longitude is kept but not drawn. |
Reading data#
| Limit | Value | Notes |
|---|---|---|
| Rows a report reads from its source | 1,000,000 | A list that ranks, filters or totals, and any data model crosstab, is refused above it. A plain list shows its first rows and says so. Load all rows in the viewer reads up to this ceiling. |
| Rows behind a number in the viewer | 200 shown | Copy rows copies every row. |
| Distinct values listed in a column menu or a filter | 500 | The menu says "More than 500 values: only the first 500 are listed. A value past them stays in when you untick others." |
| Rows a hierarchy reads | 1,000,000 | Past it the field is shown flat and the crosstab says so. A hierarchy is never built from only some of the rows. |
| Members in a hierarchy preview tree | 500 | |
| Rows in the table browser on the Source screen | 1,000 | |
| Rows the view Preview grid draws | 5,000 | Copy and download take every row that was fetched. |
| Rows to check how views match | 10,000 per view | Discover relationship uses 1,000 per view. |
Saving, importing and pictures#
| Limit | Value | Notes |
|---|---|---|
| A saved web report | 25 MB | Counted in bytes, as stored. A larger report is not saved, and your edits stay on screen. |
| A workbook to Import or Open | 25 MB | It may unpack to at most 200 MB and hold at most 10,000 files. |
| Pictures in an imported workbook | 100, at most 5 MB each and 20 MB together | |
| Cells outside A1:AZ1000 in an imported workbook | 100,000 | More than that and the workbook is refused. |
| A picture you insert | 2 MB | PNG, JPEG, GIF, WebP or SVG. A tile map background can be PNG, JPEG, GIF, WebP or BMP, and not SVG. |
Viewer, download and burst#
| Limit | Value | Notes |
|---|---|---|
| Parts in one download burst | 60 | Past it, make it a job. |
| Combinations listed to page through | 1,000 | Past it, the panel shows only the count. |
| Value chips shown | 12 | The panel says "and N more". |
| Values a burst filter offers | 500 |
AI#
| Limit | Value | Notes |
|---|---|---|
| Rows an insight sends to your AI provider | 200 rows or 24,000 characters | If the data is cut, the request says so and the total row count is still sent. |
| Rows Fill in from sends | 12 | All of their columns. |
| Tables the data model assistant lists per source | 80 | It reads two sample rows from up to 40 tables per source, or 12 for a cloud connector. |
Data models#
| Limit | Value | Notes |
|---|---|---|
| Rows read per joined input | 1,000,000 | A setting: Settings > Configuration > Performance > Data Models > Rows Read per Joined Input. 0 turns it off. |
| Joined view memory budget | 20,000,000 cells | Joined View Memory Budget, same place. About 1 GB. |
| Rows a joined view returns | 2,000,000 | Rows Returned by a Joined View, same place. |
| Join keys sent to a source | 1,000 | Join Keys Sent to a Source, same place. Above it, that input is read whole. |
| Tables in one designer view | 20 | A path from the starting table is at most four tables long. |
| An export of a source | Refused past 10,000,000 cells | A table too big for a sheet is cut to fit, never refused. |
For the details behind a row, follow the page that owns it: The web report studio, The viewer, Download, burst and keep a view, Join views across sources, Hierarchies and AI insights.
Refused variable values#
A data model variable's value is placed into a query by the position of its {{Token}}. A value that does not fit its position is refused: the run fails, nothing is sent to the source, and the message names the variable. The full rules are in Data model variables.
If you see this message for a bare token in SQL:
The value for “Region” can't be used: it is pasted into the query without quotes, so it only takes a number (or, inside IN ( ), a list such as 1, 2, 3 or 'East', 'West'). For a text value, the data model's author should put quotes around it in the query: '{{Region}}'. Only as a last resort, for query text such as a column name, can the data model's author mark the variable as raw query text, which turns this protection off and pastes readers' values unchecked.
then the token sits bare in the query (WHERE region = {{Region}}), so it only accepts a number. The data model's author puts quotes around it: WHERE region = '{{Region}}'. A bare date such as 2024-01-01 fails the same way and is quoted the same way.
If you see the same message with a list, such as East, West, then write IN ({{Regions}}) and supply 'East', 'West'. A list is accepted only directly inside parentheses, and each text item needs its own quotes.
If the message asks for brackets or double quotes instead, then the view is MDX or DAX:
| Language | The message says the value "is pasted into the" | The author's fix |
|---|---|---|
| MDX | MDX without quotes or brackets, so it only takes a number or member names such as [Region].[East] |
Put brackets around it: [{{Region}}], or [Region].[{{Region}}]. |
| DAX | DAX without quotes or brackets, so it only takes a number |
Put double quotes around it: "{{Region}}". |
If the message ends "so on this connection a variable can only take a plain number unless the author marks it as raw query text. Rewrite that part of the query, or connect with a SQL Server or SQLite connection", then the query uses syntax that different databases read differently (a backslash, a # or // comment, $ quoting, brackets, a lone carriage return, or EXEC of a string) on an ODBC, OLE DB or CData connection, or anywhere it runs a string as SQL. Rewrite that part of the query, or use a SQL Server or SQLite connection. Pass values to dynamic SQL as sp_executesql parameters.
If the value is meant to be query text, such as ORDER BY {{SortColumn}}, then the author selects Raw query text, pasted as is on the variable's card, and limits the values to a list. The value is then pasted unchecked, so treat it as a power tool. See Use a value as query text.
If you see no error but no rows, and the query reads IN ('{{List}}') with a value like East','West, then the value is now one text string. Write IN ({{List}}) with the value 'East', 'West'.
If Preview shows "No value for required variable(s)" and names the variable, then enter a value in the Variable values pane, or set the variable's default on the Variables tab. At run time a required variable with no value is refused with a warning that names it.
If Preview says "East2 isn't one of the choices for Region. Pick a value from its list.", then the variable allows only its list. Pick from the list, or have the author turn on Also allow typing a value that isn't on the list.
License messages#
Web reports themselves need no license. Professional reports inside them do, and they are not released yet. Without the license, the controls stay on screen, disabled, and say why.
| If you see | Then |
|---|---|
Professional reports are coming soon. on Professional report, Convert to professional, Add dynamic row, Add row member or Add column member |
The server's license does not include professional reports. Nothing is created. A web report that already holds one opens with its value cells blank, only in that session, and cannot be saved, saved as, exported or downloaded. The stored report is unchanged. Ask your Reportworq contact for the license. See Professional reports. |
Nothing was distributed: the web report '<name>' uses a professional report, which this license does not include. as a job's failure |
A distribution job over a web report that holds a professional report is refused on an unlicensed server. The job keeps no file and sends nothing. A workbook source reads "the workbook" in place of "the web report". Get the license, or take the professional report out of the report the job uses. See A web report as a job source. |
Professional reports are coming soon. when you choose Convert to Excel |
The web report holds a professional report and the license does not include them. Nothing is made and nothing is deleted. |
Professional reports aren't in Excel yet. on the professional report buttons in the Excel add-in |
This is not a license message. Professional reports are built in the web report studio only. A toast adds "Build them in the web report studio." |
Professional reports do not show in the Capabilities block of the License tab, so these messages are the signal. A license change applies without a restart. See Licensing.
Common errors#
Data models#
| If you see | Then |
|---|---|
“<name>” is disabled. Set it to Public or Hidden in its data model to run it. from a report, job, joined view, variable choice list or Preview |
The view's visibility is Disabled, which stops it from running everywhere. Open the data model and set the view to Public or Hidden. A joined view over a Disabled input fails the same way even in Preview. See Choose who sees a view. |
| A view missing from the list in the Excel add-in or the studio | It is Hidden or Disabled. Neither shows in the pickers. Hidden is not a permission: anyone who can see the data model can still run a Hidden view. |
A view named “<name>” already exists. View names must be unique. |
View names are shared across the whole model, because every report binding finds a view by name. Pick another name. |
| The view reads "Fields may not match the query yet" | The query could not run when you left the tab or saved. Read the warning, fix the query or enter the missing sample value under Connection values, then change tab or save again. |
| An older view opens as SQL only with an empty editor | It was built in a way the designer cannot show. Select Use the designer to see why. The view still runs as saved. |
| A joined view stops with a message naming an input and a limit | A joined view went past one of its four limits (see Limits). Filter the input view, give it a variable, remove fields you do not need, or check Each row finds and run Test match: a key that is not unique repeats rows. |
| A joined view fails when one of its sources is down | A joined view needs every source its inputs read. Restore the source, or point the input at another. |
| A source shows an exclamation mark in the rail | The connection was deleted or disabled, or the workspace file was moved, renamed or deleted. The row on the Sources tab says how to fix it. Use Change... on the row to pick the file again. |
| A hierarchy preview reads Reports can't use this yet | The outline has a problem listed with its line number: a top-level line with nothing under it, a value listed twice, or an indent that is not two spaces or one tab per level. Fix the listed lines. |
hierarchy “<name>” (its view has more than 1,000,000 rows) unavailable, shown flat on a crosstab |
The hierarchy's view has more rows than a report reads. Narrow the view or give it a variable. |
Global Parameter Value '<name>' refers to another global parameter ('<other>'). A global parameter must hold its own value: edit it in Global Parameters and choose a value type other than 'Global Parameter'. on a job or prompt that uses it |
A global parameter cannot point to another global parameter. This is an older entry that already did. Open it on the Global Parameters screen and choose a value type other than Global Parameter. The list flags such an entry in its Value column, and the edit panel says "This global parameter refers to another global parameter, ' |
A .db upload is refused with "These file types are not permitted..." |
An upgraded install keeps its upload allow-list. An administrator adds the Databases file-type category. See Workspace file data models. |
| "No AI model is set up. An administrator can add one in Settings, Integrations, AI." | The data model assistant needs an enabled AI connection. See Ask AI on a data model. |
The web report studio#
| If you see | Then |
|---|---|
| "The report wasn't saved" with a reason | The server could not read back exactly what you wrote. Your edits stay as unsaved. Save again. If the message says it was saved again, perhaps in another tab, someone else saved between your write and the check: save again to replace that version, or reopen to see theirs. The last save wins. |
the report is <n> MB, over the 25 MB a saved web report can be. Nothing was saved, and your changes are still on screen. Take a sheet, a picture or a large list out of it, then save again. |
The saved report is over 25 MB. Remove a sheet, a picture or a large list. A full sheet list of 52 columns by 1,000 rows is about 10 MB. |
"logo.png" wasn't inserted. The file is 3 MB; the limit is 2 MB. |
A picture is over 2 MB. Use a smaller file. A file that is not really a picture is refused too, because Reportworq checks what the file is, not its name. |
| "This workbook holds more than the 100,000 cells outside A1:AZ1000 that the studio can keep: move or remove that content in Excel, then open it again." | An imported workbook has too much past column AZ or row 1,000. A workbook over 25 MB is refused too, with "The file is |
#NAME? in a cell |
Your formula uses a function the studio does not calculate. The studio shows an error rather than a number that looks right. |
#REF! in a cell |
The formula points past row 1,000 or column AZ. |
| "Edit it in Excel." on a report in an imported workbook | The report reaches past row 1,000 or column AZ. The studio shows the first 1,000 rows and 52 columns and will not change the report. Saving keeps its stored definition as it was. |
A report is refused with “<view>” has more than 1,000,000 rows, which is more than a report reads at once ... Nothing was cut. |
The report needs every row and the source has more than the ceiling. Use a data model variable or a filter on the view in the data model (a filter on the report applies after the rows are read), or set Rows read from the source on the report to 1,000,000 or fewer, which makes it work from only the first rows. |
| A report is refused for passing the largest report size | The report would write more cells than the Largest report (cells) setting allows. Limit the rows, or ask an administrator to raise the setting (to at most 5,000,000). |
| A report opens with no numbers and a reason in their place | The report cannot be drawn. Fix the source or the report's filters, or ask its author. |
| The sheet shows "Refreshing. The sheet takes typing again when the reports are back." | This is normal while Refresh all runs. |
| A report saved by a newer version will not open | A report saved by a newer version of Reportworq cannot be read by an older server. Upgrade the server. |
| "The Excel Addin requires the Author entitlement." | The sign-in has no author rights. Readers cannot open a web report or use the pane. Sign in as an author or administrator. |
| A variable bound to a cell refuses with a "Try again" message naming the variable | Excel cannot be asked right now (a failed read, edit mode, writes still queued). Try again. It never filters on an old value. |
| "No row of the source has this value" beside a variable | No row has that value. Pick another. |
| A report filter on another sheet's cell comes out empty | A filter reads a cell on its own sheet only. Have the job write the value into a cell on the report's own sheet. |
| "Unverified figures: ... Check them before you rely on this answer." on an AI insight | Figures in the answer could not be found in the data. Check them before you send. The mark means nobody checked, not that the figure is wrong. |
AI insight not refreshed in this run. or AI insight unavailable for this filtered report. in a delivered file |
The insight could not be asked again (no AI connection, a disabled connection, a timeout or a refused answer), so the saved answer was withdrawn. The run completes with a warning that names the insight and the reason. |
The viewer, downloads and burst#
| If you see | Then |
|---|---|
| "There isn't room to expand “West” here: “Largest accounts” sits right below it. The report's author can make it insert rows as it grows." | Another report is directly below. Ask the author to set the report to insert rows as it grows, or to leave room. |
| "Out of date: the report has changed since this answer was asked. Refresh to ask again." under an AI insight | Your filter changed the data under the answer. Select Refresh. |
| A note above a list with a Load all rows button | The author limited the rows the list reads. Select Load all rows to read up to 1,000,000. If the source has more and the report needs every row, it keeps its limit and says why. |
| A variable refuses a value | The variable allows only its list of choices. Pick a value from the list. |
A download bursts at most 60 parts, and this is <n>. Narrow the values, or make it a job. |
The burst has too many combinations. Narrow the values, or run it as a distribution job. |
| " |
A burst filter offers only the first 500 values. |
The burst didn't work: followed by a reason |
The burst failed. A hidden sheet whose report the burst filter does not narrow fails the burst, so no recipient is handed the whole data. Narrow that report by the same filter, or unhide the sheet. |
| Cannot find a web report as a reader | By design, readers never see web reports. They receive the output of distribution jobs. See The viewer. |
Convert to Excel#
Converting deletes the web report and cannot be undone. Reportworq builds the workbook first, and if it cannot carry the report whole it stops and nothing changes. See Convert a web report to Excel.
| If you see | Then |
|---|---|
| "This web report is used by jobs you can't see, so it can't be converted. Ask an administrator to convert it." | A job or campaign you cannot change uses the web report. Every user's job is repointed or none is. Ask an administrator. |
| A message that begins "“ |
A job maps its parameters to the web report's own filters, which a workbook does not have. Map the parameters to workbook cells, or remove them, then convert. |
| "The job “ |
A hidden sheet is refreshed too, so each of its reports must be narrowed by every filter the job sets. Map the filter to that sheet and give the report that filter, or unhide or remove the sheet. A map or professional report on a hidden sheet cannot be narrowed at all: move it to a visible sheet or remove it. |
Professional reports are coming soon. |
See License messages. |
| A message naming what would be lost or moved | The workbook is checked before anything is written. Fix what the message names, then convert. |
Converted to “<file>”. and "One job now runs it." or " |
Success. The workbook is in the same folder and each job now refreshes it. |
If you only want a copy, use Export as Excel on the same menu. It leaves the web report and the jobs alone.
Jobs over web reports#
A job over a web report or a converted workbook fails closed: if anything cannot be refreshed, it says why and sends nothing, rather than sending stale data. Run messages from a web report source begin "Live report '
| If you see | Then |
|---|---|
| "The filter 'x' is no longer in this report (it was renamed or removed)..." in the job editor | The job maps a value to a filter that is gone. The run refuses it. Choose the filter again on the Reports step. |
| "Several filters are named Region: pick one from the list." | Two filters share a name. Pick one in the location picker. |
| "Sheet ' |
A hidden sheet holds a report the job's filter does not narrow. Map the filter to that sheet too, or give the report that filter. |
| A message ending "Nothing was distributed." about a list or crosstab passing Excel's last row | The report would pass row 1,048,576. Reduce what it reads. |
"<cell> is in rows <first>-<last>, which “<report>” keeps for its formats (hidden), so a refresh would overwrite it. Nothing was distributed. Move it below row <last>, then run the job again." |
Something typed into the hidden rows under a report. Move it below the report. |
| A message naming a cell a growing report "would write over" | The report would grow into your cells. Move your content, or set When the report grows to Overwrite, which lets the report take the cells. |
“<report>” has grown larger than a job can refresh in place (it must end by row 1,048,576 and column XFD). Nothing was distributed. |
The report would pass Excel's last row or column. Reduce what it reads. |
| An insert or delete "would cut through a merged area" | Unmerge the area or move it. |
| A report definition that "can't be read (damaged, edited by hand, or saved by a newer version of Reportworq), so it can't be refreshed. Convert the web report to Excel again, or remove the report from the sheet." | Do not edit a report's hidden definitions by hand. Convert the web report again, or remove the report from the sheet. |
| A step log reason that the report reads more than 1,000,000 rows, or 2,000,000 cells | A list that ranks or totals, and any data model crosstab, fails above the ceiling. Narrow the view with a variable or a filter in the data model. |
Nothing was distributed: the web report '<name>' uses a professional report, which this license does not include. |
See License messages. |
A job does not check a value against the data: a value the source does not have, such as a typo, gives what the source returns for it, often a report with no rows. Maps and professional reports go out as last saved, so a job that narrows a web report refuses a map it would send whole to every recipient.
For the rest of how a job treats a web report, see A web report as a job source and Key-cell formats and what a job keeps.
Still stuck#
Early release features can behave differently from the pages that describe them. Use Send feedback from the early release pill on the screen you are on, which attaches a screenshot and the details support needs. See Early release features and Send feedback. For problems outside reporting, see the Troubleshooting index.
Feedback on this page
Comments, questions, requests, or something missing or unclear? Email us - the page you are on is filled in for you.
Email feedback on this pageOr write to support@reportworq.com directly.