Reports
Verified against source (10)
report/Report.csreport/ReportQuery.csreport/ReportRequest.csConfig/Report.configProperties/Settings.settingsReport/Report.AdHoc.xsltReport/Report.ObjectDashboardEdit.xsltReport/Report.ObjectDashboardChartEdit.xsltapplication/AbstractObject.csqbo4.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.
Build a report
Section titled “Build a report”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.
What each query produces
Section titled “What each query produces”| 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. |
Prompts
Section titled “Prompts”Users are prompted for any value the queries need:
- parameters declared on the statement, such as
StartDateandEndDate; 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.
Who can run it
Section titled “Who can run it”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.
Delivery and storage
Section titled “Delivery and storage”- 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
CopyToparameter (one or more storage locations, comma-separated) and an optionalPathURL, 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
ReportRequestQueuesetting picks the default; users can choose another when more than one is available.
Ad hoc reports
Section titled “Ad hoc reports”From the Reports search panel, choose Ad-Hoc Report to build a report interactively:
- Pick a Module to report on. Schema and Configuration show its fields, related tables, and existing statements.
- 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.
- In the Advanced view, write the SQL directly.
- Enter test values in Payload and choose Run to see the results. Each run opens a new results panel, so you can compare.
- 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.
Raise alerts from a statement
Section titled “Raise alerts from a statement”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');Dashboards
Section titled “Dashboards”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.
Customize Excel exports
Section titled “Customize Excel exports”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.