kgCO2e, kgCO2, …), plus optional description, link, and tags.
Data Model (Actual)
Required fields:datasetId: the parent Dataset idname: item key (string; recommended: lowercase, kebab/underscore)year: numberdata: JSON object with one or more fields (coefficients and attributes)
description: stringlink: string (reference URL)tags: string[] (for filtering/search)
- Items are considered duplicates if
(datasetId, name, year)repeats - Import enforces this and skips/conflicts duplicate rows
Using DatasetItems in Calculations
Use the$datasets helper in Activity Definitions:
getItem/getCoefficientreturn null on no‑matchgetDataset/getCoefficientsreturn empty collections on no‑match
Managing Items via CSV Import/Export
Import is available fromCustomization → Datasets and from the dataset detail page. The importer supports both providing an existing datasetId or a datasetName per row. If a datasetName doesn’t exist, it is created under the current organization.
Required columns per row:
name(item key)year(number)- one of
datasetIdordatasetName
description,link,tags- any
data_*columns → become keys underdata(e.g.,data_kgCO2e→{ kgCO2e: <value> }).
data_* columns. Public dataset export is restricted to ADMIN.
Searching and Large Datasets
- The dataset detail page supports search across
name,description,tags, and the text content ofdata - For large datasets, pagination + server‑side search keeps the UI responsive
Dashboard Mappings
When an indicator uses dataset values, widgets store mappings asdatasetId::itemName::field. The system validates mappings and flags missing data or fields for selected years.
Best Practices
- Choose a stable
nameper conceptual item (e.g.,us_grid_avg,natural-gas-commercial) - Keep your numeric values as numbers (CSV parser converts plain numeric cells)
- Add a short
labelinsidedataif you want nicer display text in selectors - Use
tagsto help searching (e.g.,electricity,scope-2) - Avoid duplicates of
(name, year)inside the same dataset

