Trace a served value back to its source line

Numbers checked against the live data on

This page shows queries.

Join the row's release_id to open_ef.release and its source_row_id to open_ef.source_row: you get the edition, the file, the position in the file and every field of the original line. DESNZ's butane combustion factor, 1.74533 kg CO2e per litre, comes from line 11 of ghg-conversion-factors-2026-flat-format.xlsx in the 2026 release, where the publisher printed 1.74533 per litres.

The query#

Show the SQL
SELECT f.value_co2e_native,
       f.source_key,
       r.version AS release_version,
       r.released_on,
       sr.artifact,
       sr.row_index,
       sr.raw ->> 'id' AS publisher_row_id,
       sr.raw ->> 'uom' AS raw_unit,
       sr.raw ->> 'value' AS raw_value,
       f.license_code
FROM open_ef.factors_flat f
JOIN open_ef.release r ON r.id = f.release_id
JOIN open_ef.source_row sr ON sr.id = f.source_row_id
WHERE f.library = 'desnz'
  AND f.slug = 'ef-desnz-gaseous_fuels_butane-gb-l-combustion-d74d3fe6'
  AND f.is_default_indicator
  AND f.is_latest_activity_year;
value_co2e_native source_key release_version released_on artifact row_index publisher_row_id raw_unit raw_value license_code
1.74533 efv1-f0d3b2528b05f5f6de25891ce4df3e30 2026 2026-06-11 ghg-conversion-factors-2026-flat-format.xlsx 11 1_100_1000_8_1 litres 1.74533 ogl-3.0

The served l is the publisher's litres, and the number is unchanged. When a served value differs from the raw one (a unit conversion, a GWP restatement, a price-level adjustment), this is the query that shows both sides.

column where it points what you learn
slug the factor the durable pointer to cite; it survives new releases
source_key the published value the exact published number you used; a new release gives it a new key, but a price re-seed or a GWP pass moves the served value with the key unchanged, so diff price_index_ratio and value_co2e_normalized beside it
value_id open_ef.emission_factor_value the value row itself, with columns the view leaves out, such as publisher_valid_to
release_id open_ef.release the edition (version, released_on, source_url) and its licence
source_row_id open_ef.source_row the file (artifact), the position (row_index) and the line verbatim (raw)

raw is JSON with every field of the line, uncoerced. Its keys are the publisher's own column names, so they differ from one library to the next: list them with jsonb_object_keys(raw) before you pick one.

Watch out#

Watch out. row_index is a position in the artifact as it was read, not a guaranteed spreadsheet row number. To find the line in the publisher's own file, use a field the publisher printed, such as DESNZ's id above.

Watch out. For a matrix source such as EXIOBASE, one source_row is the extracted (region, product) slice, not a single cell. A spend factor served for several activity years points at the same source line from every year: the price-level adjustment is ours, and price_index_ratio on the row undoes it.

Why it works. Nothing is interpreted before it is stored: source_row lands each line before any cleaning, so the path from a served number to the publisher's print is a join, not a reconstruction. What the view does not serve is content_hash, the change detector on the raw line. Read it on open_ef.source_row if you mirror the data and want to spot a silent edit.