ReportAsync
ReportAsync()
performs calculations in the background (asynchronously from Excel). This is useful for larger reports, allowing you to continue working in Excel while the report is being generated. Once the data is ready, it is displayed in Excel.
Syntax:
Qx.ReportAsync(Report, Headers, Arg1, Arg2, Arg3 … Arg16)
- In Excel with Quintessence addin versions prior to 25.1, use:
ReportAsync()
ⓘ See parameter descriptions
Report | The name of a Quintessence report. |
Headers (optional) | Possible options are: • NoData: Cleans up any previously populated data during calculation and displays Calculating… • CachedData: Displays cached data while calculating. Once the calculation completes, the new data is automatically populated. • CachedDataCalc: Does not clear previously populated data. Shows cached data while calculating and displays Calculating… |
Arg1, Arg2, … Arg16 | The parameter values, in order, as defined in the report configuration. |
Remarks:
- Unless changed by an administrator, the default parameters are:
- Headers: NoData
- To ensure that the data populates correctly, Quintessence population must be used. This is done by adding an
@
in the formula, for example:=@ReportAsync()
. - It is recommended to use this function only in Excel. The asynchronous capability works exclusively in Excel and not in any other application, including the Quintessence editor. If you only need to call the report from a different application, use Report() instead.
Examples:
The examples provided below are based on fictitious data for illustrative purposes only.
> Example 1: Calling a report
A report named Get Location, which takes five parameters, is set up in Quintessence. The parameters are listed below.
Parameter name | Parameter type | Cell location in Excel |
start_date | Date | B2 |
price | Number | B3 |
location | Text | B4 |
in_africa | True/False | B5 |
countries | Array | B6:C7 |
This report will be called from Excel. The call should be made so that the report updates automatically without notifying the user that a calculation is in progress. In other words, the cell containing the formula will never display Calculating….
=@Qx.ReportAsync("Get Location", "CachedData", B2, B3, B4, B5, B6:C7)