Skip to content

Reports

Verified against source (10)

  • report/Report.cs
  • report/ReportQuery.cs
  • report/ReportRequest.cs
  • Config/Report.config
  • Properties/Settings.settings
  • Report/Report.AdHoc.xslt
  • Report/Report.ObjectDashboardEdit.xslt
  • Report/Report.ObjectDashboardChartEdit.xslt
  • application/AbstractObject.cs
  • qbo4.Document.Aspose.Bridge/CellsHandlerOptions.cs

A report is a list of queries. Each query is a saved method signature: a module, one of its statements, and fixed parameters. When the report runs, every query runs in turn and its output is saved as a file.

From Reports, choose New Report and set:

Setting Purpose
Report The name users see.
Description / Instructions Shown to users when they request the report. Say what it covers and how to fill in its prompts.
Delivery Contact Optional default recipients for every run.

Then add queries in the Queries panel. Each query has a name and a method signature in the form {Module}/{Statement}?{parameters}, such as Contact/Search.

From a report’s summary page you can Copy it to start a variation.

Query Output
Any statement (for example Contact/Search) An Excel workbook of the results, named after the query. Pass an AttachmentName parameter to name it differently; it can include substitutions in braces.
Attachment/Generate?Template=… A document generated from a document template. Use this for formatted output: a multi-sheet Excel workbook merged with data, a Word letter, or a PDF summary.

Users are prompted for any value the queries need:

  • parameters declared on the statement, such as StartDate and EndDate; and
  • placeholders in braces in the method signature, such as Contact/Search?CreatedDate>={StartDate}.

For Attachment/Generate queries, QBO also prompts for the parameters of the document template’s data method.

Reports use row-level security. A user sees a report if they created it, are an administrator, or belong to a group that has been granted access to it. Each user’s requests, and the files those requests produce, are visible only to the person who created or requested them and to administrators, unless access is granted explicitly.

  • Email. Recipients receive secure download links that require signing in, never the data itself. Set a default Delivery Contact on the report, or let users add recipients when they request it.
  • Copy to storage. Run a report with a CopyTo parameter (one or more storage locations, comma-separated) and an optional PathURL, and QBO copies each output file there: an sFTP folder for a client, or an Amazon S3 bucket for a data warehouse. Storage locations are the same ones used by Document Management.
  • Queues. Requests run on a processing queue. The ReportRequestQueue setting picks the default; users can choose another when more than one is available.

From the Reports search panel, choose Ad-Hoc Report to build a report interactively:

  1. Pick a Module to report on. Schema and Configuration show its fields, related tables, and existing statements.
  2. In the Basic view, assemble the query from Select, From, Where, Filters, Group By, and Order By, or start from an existing Base Statement with different parameters. The Extranet section applies partner security to the query.
  3. In the Advanced view, write the SQL directly.
  4. Enter test values in Payload and choose Run to see the results. Each run opens a new results panel, so you can compare.
  5. Choose Save, then name the Report and the Statement. QBO creates the report, its query, and a reusable statement on the module.

To report on another database, such as a data warehouse, choose or add a SQL Connection. QBO saves the statement with a service that runs it against that connection.

A statement can show a banner to the user with RAISERROR. The state argument picks the banner: 0–9 shows a warning, and 10–15 shows an error. The application settings SqlErrorRaiseAlertMaxLevel (default 9) and SqlErrorRaiseErrorMaxLevel (default 15) move those boundaries.

RAISERROR('No activity was found for %s.', 8, 9, 'this date range');

A dashboard is a report bound to one module, with a Dashboard query that holds its layout and a query for each chart. Use Edit on the dashboard to set:

  • Rows and Columns of the chart grid;
  • the Dimensions and Filters available, drawn from the module’s configuration;
  • fixed Parameters, and Prompts that become filter fields across the top; and
  • the Search Panel that lists matching records under the charts.

Edit each chart to choose its layout (Table, Bar, Column, Line, Area, Pie, Histogram, or Scatter), its Dimension, an optional Pivot, and the Fact to measure (such as a count). You can also set the title, legend, stacking, axis ranges, and chart-level filters.

To add a dimension or filter that a module doesn’t have, create a custom one in the module’s configuration. You may need to recycle the application before it appears in the dashboard editor.

For a dashboard with several tabs, create one report per tab and link them to a parent report. The parent’s landing page shows the linked reports in order.

Export to Excel on a search panel can use a custom workbook layout. Save a workbook named {Module}.{Operation}.xlsx (for example Contact.Search.xlsx) in the excel folder of your template storage. QBO merges the data into it, so you can choose and rename columns, add formula columns, and add named ranges. Without one, every column is exported under its native name.