Skip to main content

Smart Reports

· 6 min read
Colin Hartley

Smart Reporting

In this blog, we talk about Smart Reports, what they are and how to create them in OpenDataDSL.

We also give an overview of the important aspects and benefits of data reporting in general.

What are data reports?

The purpose of data reporting software is to collect, organize, analyze, and present data in a meaningful way. It enables users to generate reports and visualize data, allowing businesses and individuals to gain insights, make informed decisions, and communicate information effectively.

What are Smart Reports?

The latest innovation from OpenDataDSL is the introduction of Smart Reports, but what are they and how do they differ from normal reports?

Here are some facts about Smart Reports:

  • A Smart Report is generated using an ODSL expression

    This can be as simple as an arithmetic expression, find or aggregate command or a function call.

  • A Smart Report can include a script name

    You can use functions from that script in the expression.

  • A Smart Report can be styled

    You can include a mustache template name in the report configuration to style the report.

  • Smart Reports can be manually created

    You can manually upload data for a report rather than generating it using an expression.

  • A stored Smart Report is dated

    A report is run for a specific report date and can use a date range for the input data.

  • Smart Reports are versioned

    A Smart Report can be run multiple times/day and each run is stored and versioned and can also be tagged.

  • A Smart Report can be dynamic

    i.e. generated on-the-fly.

  • Smart Reports can be scheduled

    Each report can be configured with a CRON schedule.

Easy Reports

In the simplest form, a Smart Report is an expression, for example a find command:

find ${object} where _type="equity" project name, description


They can include charts generated from curves and timeseries as well as manually updated text :


Complex Reports

Smart Reports can also include more complex calculations and incorporate some very specific display requirements.

Creating complex smart reports comprise of 3 essential elements which effectively split the reporting responsibility between developers, designers and end-users:

  • Developers

    Use the ODSL language to aggregate, derive and shape the data for the report.

  • Designers

    Use an enriched version of the mustache logic-less templates to design how the report looks.

  • Users

    End-users configure the report, selecting which data to use in it.

The SMART part - just add data

The Smart part is that both the developer and the designer are simply creating re-usable templates that the end-user selects along with the data they want in the report.

Example report

Statistical analysis of ANY timeseries data

For our example, we want to calculate some basic statistics and a correlation matrix using any timeseries in OpenDataDSL.

The function we use for this is timeseriesComparison with the following syntax:

timeseriesComparison(source, objectQuery, profile, descfield)

  • source

    The source of the timeseries data (public / private etc).

  • objectQuery

    The query used to search for the objects containing the data.

  • profile

    The name of the timeseries to use from the objects.

  • descfield

    A field in the object to use as the descriptor.

The function creates 2 matrices:

  • Statistics

    A matrix calculating the minimum, maximum and mean values and the standard deviation for the selected time period.

  • Correlation

    A correlation matrix show how closely correlated the timeseries are to each other.

Configuring the report

We are going to use average monthly dairy prices from AHDB in the report as an example - it is configured as follows:

  • Script
    • #stats_report
  • Expression
    • source = public
    • objectQuery = source="AHDB"
    • profile = AVERAGE
    • descfield = product
  • Template
    • #stats_report_template

We can configure the report in the portal as show below:

The final report

Smart Report benefits

Here are some key purposes and benefits of Smart Reports:

  • Data consolidation

    Smart Reports allow you to gather data from various sources and consolidate it into a single, centralized location. This makes it easier to analyze and interpret information.

  • Data analysis

    Smart Reports are used for analyzing data, applying statistical techniques, and identifying patterns, trends, and relationships within the data. It helps uncover insights that can drive decision-making and improve performance.

  • Report generation

    Smart Reports enable users to create customized reports based on specific parameters and requirements. It allows for the selection of data elements, formatting options, and visualization techniques to effectively present information.

  • Visualization

    Smart Reporting involves visualizing data in charts, graphs, tables, and other visual representations. Smart Reports help users understand complex data sets quickly and easily.

  • Decision-making support

    By providing accurate and timely information, Smart Reports assist in informed decision-making. They enable users to identify areas for improvement, track performance metrics, and evaluate the impact of decisions.

  • Collaboration and sharing

    Smart Reports facilitate collaboration among team members by allowing users to share reports, dashboards, and insights. It promotes transparency, encourages knowledge sharing, and enhances communication across an organization.

  • Compliance and regulation

    Many industries have specific reporting requirements and regulatory standards. Smart Reports help ensure compliance by helping users generate reports that meet the necessary criteria.


Overall, Smart Reports empower users to transform raw data into actionable information. They simplify the data analysis process, enhance decision-making capabilities, and improve organizational performance by enabling effective communication and visualization of data.

Next steps

Do you want to see this in action and see how you can benefit from OpenDataDSL?

Fill out the form below, we will contact you to arrange a personally tailored demo.

How about a demo?

Our team is here to find the right solution for you, contact us to see this in action.

+44 1245 555053

Fill out your details below and somebody will be in contact with you very shortly.

We'll never share your email address
Enter information about your area of interest, include your telephone number if you would like us to call you.

More information or free trial?

Tell us about your project, and we can let you know how we can help.

Contact us at

Further Reading