Reports
Reports provide the ability to interface with 3rd part reporting providers to call them and produce professional tailored reports automatically from the system.
Reporting Features
Using our suite of reporting tools you can create queries that provide any of your data in any shape you like. All of the fields, history, and canvas data, in the entire system are accessible through all of the reporting tools (such as Datasets, Venn Sets & GL Rollups), and any query you design the system writes an underlying query in the database for you directly through our SQL Wrappers.
Tip
One of the key reasons the system generates your entire query in a sql function, or stored procedure, in the database is to ensure 3rd party systems can easily retrieve data from our system by simply calling these queries. They may not be easily capable of importing data, or calling API's, or other interfacing methods, but they will (especially reporting tools) be able to simply call the database query and consume the data. More than that, using our tools you can easily create queries that provide the data in exactly the shape and format the 3rd party system requires.
Note
One of the other benefits is the queries can also include custom calculations, such as IRRs, using our SQL Functions capability. This means there's no pre-processing of your live data required to report on it, instead your query always contains everything required for the data and runs as fast as possible, on your live data.
Our Reports functionality provides the capability to reach out to these 3rd party professional reporting products and call them to execute their reports against our data. This provides a very easy mechanism to use the professional reporting product of your choice while still benefiting from the LemonEdge platform. To create any kind of professional report the process would be:
- Create all the queries you require to retrieve the data for your report using our query tools. [See Datasets, GL Rollups & Venn Sets]
- Open your professional reporting product of choice and design your report with the created queries as its data sources.
- Create a Report in our system that links to your professionally designed report and can execute it, and pass parameters, from within LemonEdge
- Run the report from LemonEdge
- Use our Query Runners functionality to call the report multiple times to generate as many different versions of the report as you want all at once.
Report Properties
A Report in LemonEdge is simply a link to a pre-constructed report in a professional 3rd party reporting service. As such the default generic report simply contains a Name, Description and the Type of report.
A report also contains a collection of all the parameters that are needed to be passed to the report itself. Using the parameter definition LemonEdge automatically provides the appropriate parameter selection screen dynamically and can ensure these values are provided to the Report when it is called to be executed and generate a file.
The system will also automatically provide the values for the following parameters:
Name | Value Passed | Description |
---|---|---|
@accountID | Current account id of the user | The ID of the account. Can never be changed, the system will always provide the value if this parameter is configured for the report. |
@canvasID | Current canvas the user is running within | The ID of the canvas for the query to run in. This can be provided by the user too if they specifically want to run the query in a different canvas, or none at all. |
@teamID | Current id of the team the user is running within | The ID of the account. Can never be changed, the system will always provide the value if this parameter is configured for the report. |
@lastUpdated | The current as of date the context is running in. | A date to run the query as-of in the past. This can be provided by the user too if they specifically want to run the query as of some other prior point in time. |
@databaseName | The current name of the connected database | The name of the database the user is connected to. Can never be changed, the system will always provide the value if this parameter is configured in the report. |
@databaseServer | The current name of the connected sql server instance | The name of the sql server instance the user is connected to. Can never be changed, the system will always provide the value if this parameter is configured in the report. |
@runKey | The unique key that can be passed to this report when running from a Query Runner | The name of the unique key generated every time a Query Runner is initiated. This can be provided by the user too if they want to re-use a specific key for debugging/testing purposes |
@rowResult | The current row number from executing this report when being generated from a Query Runner | The number of the report being generated from the result set of a Query Runner execution. Can never be changed, the system will always provide the value if this parameter is configured in the report. |
Supported Reports
As LemonEdge uses reports to call the 3rd party reporting service to execute the report, it needs to know how to interact with that reporting provider.
This is supported through our API ensuring our Reports is fully extensible and can accommodate interfacing with any number of 3rd Party Reporting Providers.
Note
You can see our API documentation for how you can easily extend this to interface with your current reporting service.
The Reports functionality currently natively supports the following 3rd party report services:
- SSRS
SQL Server Reporting Services
You can easily integrate your custom created SSRS reports into LemonEdge, and run them from the system by creating a Report of type SSRS and setting up the connection and report info.
Tip
If you use a reporting provider that is not natively supported, you can still create the reports against your queries created from LemonEdge as described in Reporting Features above, and launch those reports from the 3rd party reporting service itself.
Or if you wish, you can extend the Report functionality using our API to connect to that service too. Feel free to let us know, and we can easily add the interface for you as part of the platform as well.
Views
Reports are managed using the following views:
Depending on the Report Type, there are also the following Custom Type specific views:
- SSRS