Skip to main content

Aggregator reference


Where everything is kept​

Everything the Aggregator saves is private to your organisation. For Northgate Energy's aggregation, key dataset_deliveries:

WhatService and sourceIDNotes
The aggregationscript, privateaggregator\dataset_deliveriesCategory aggregation. The function aggregate_dataset_deliveries(ondate, start, end, report) returns the rows, and aggregate_dataset_deliveries(ondate, start, end) returns them with the test values of any report properties.
The reportreportconfig, privateAGG_DATASET_DELIVERIESReport type Default, category Aggregations, running aggregate_dataset_deliveries(#ONDATE, #START, #END, #REPORT)
The report templatescript, privateaggregator\templates\AGG_DATASET_DELIVERIESScript type and category mustache. Only for the house-style template.
The email templatescript, privateaggregator\templates\AGG_DATASET_DELIVERIES_emailScript type and category mustache
The emailautomationAssigned by the platformTarget odsl.email, on the report's update, transformed by the email template
Stored reportsreport, privateAGG_DATASET_DELIVERIES and the dateOne per date, read as AGG_DATASET_DELIVERIES:2026-10-15

A report with the Generic table uses the extension's own template, odsl-extensions\extensions\aggregator\odsl.aggregator.report_template, instead of one of its own.


The report configuration​

The fields the Aggregator sets on a report:

FieldExampleWhat it is
scriptaggregator\dataset_deliveriesThe aggregation's script
expressionaggregate_dataset_deliveries(#ONDATE, #START, #END, #REPORT)What the report runs. Reports saved before report properties have (#ONDATE, #START, #END), which still works and is updated the next time the report is saved.
templateaggregator\templates\AGG_DATASET_DELIVERIESHow a stored date is shown
cron, enabled0 18 * * MON-FRI * EU1, trueThe schedule, and whether it is on
defaultRangeEmptySets #START and #END
cacheOptionsOnDemand, privateEach run is stored for its date
properties.aggregatorThe aggregation key, the template mode, the columns, and the email settings and automation
properties.NAMEproperties.datasets: ^ICE_The value of a report property placeholder, @{NAME}. currency, units and timezone are set on the report itself instead.

What the extension contains​

PartIDWhat it is
Extensionodsl.aggregatorInstalls everything below
Feature policyextension.odsl.aggregatorGives access to the two features
Featureodsl.aggregator.manageThe Aggregator view, in the Information section of the menu
Featureodsl.aggregator.reportThe Aggregator tab on the Reports screen
Scriptodsl-extensions\extensions\aggregator\odsl.aggregator.report_templateThe generic table template

Troubleshooting​

What you seeWhy, and what to do
No rowsCheck the $match conditions and the test dates. Strings that look like dates or numbers are converted: write "string@..." to compare with a string.
A stage is outlined in redIts value is not valid JSON. Field names and strings need double quotes.
... is not allowed$out, $merge and change streams cannot be used.
A stage fails on a service it should work onRead the note under the stage: it may need to be first, need Atlas, or need a newer MongoDB version. See Where a stage can run.
Unknown function: aggregate_... when a report runsThe report could not use the saved script. Open the aggregation in the Aggregator once, which saves it again, then run the report again.
The email is not sentCheck the recipients are in your email domain, and that the automation is on under Automations for the report. The email is only sent when a date is stored.
The email automation is not under AutomationsIt was made by an earlier version of the Aggregator. Open the report in the Aggregator and save it once.
@{name} is a report setting, not a report propertyThe placeholder's name is one of the report's own settings. Choose another name.
... cannot contain double quotes, backslashes or line breaksA report property's value, or its test value, is put into the stage as text. Leave those characters out.
A report ignores a report propertyCheck the report sets it, under Report properties in the report editor or on the Reports screen tab, and that the name matches the placeholder exactly, including upper and lower case.
A template shows nothing for a fieldThe field name has characters a template cannot read, such as spaces. Rename it with $project.