Skip to main content

Latest indicator values per kommune

Atlas view

Latest indicator values per kommune

api_v1.indicator_latest_values

The latest value of every indicator for every active kommune, in long format.

First 5 rows · api_v1.indicator_latest_values
snapshot 2026-05-12
source_idcontents_codekommune_nrkommune_namefylke_namevaluestatusyear
fhi-bor-aleneRATE0301OsloOslo33.5128676379196—2025
fhi-bor-aleneRATE1101EigersundRogaland21.2904261295241—2025
fhi-bor-aleneRATE1103StavangerRogaland24.9676309104319—2025
fhi-bor-aleneRATE1106HaugesundRogaland28.4239677744209—2025
fhi-bor-aleneRATE1108SandnesRogaland20.6749226931178—2025

Built from​

This Atlas view joins data from the following upstream sources. Click through for provenance, methodology, and citation.

Showing direct dbt parents. See full lineage in /lineage/ →

Columns​

ColumnDescription
source_idAtlas source identifier, e.g. 'ssb-08764'. Joins back to fact_kommune_indicators.source_id.
contents_codeSource-specific ContentsCode verbatim from upstream (e.g. 'EUskala60', 'Folkemengde'). Combined with source_id and kommune_nr forms the natural key of this view.
kommune_nr4-digit zero-padded kommune code. FK to dim_kommune; only active kommuner are included.
kommune_nameJoined from fact_kommune_indicators (originally from dim_kommune).
fylke_nameJoined from fact_kommune_indicators (originally from dim_fylke). NULL when the kommune's fylke_nr isn't present in dim_fylke (rare — happens for codes like Svalbard 21xx).
valueNumeric value at latest_year. Unit depends on (source_id, contents_code) — see the source's README. NULL when upstream suppressed the cell.
statusSSB suppression marker (e.g. ':' for 'not available'). NULL when value is present.
yearThe latest year for this (source_id, contents_code). Repeats across all kommuner for a given indicator — kept on the row so PostgREST consumers can read it without a separate join. ⚠️ For a windowed source this is the FIRST year of the window. Render it with `window_years`, never alone.
window_yearsHow many calendar years `year` covers, carried from fact_kommune_indicators. 1 for an annual series. The span is `year` to `year + window_years - 1` inclusive. See `mart_indicator_summary.latest_year_window_years` for why this is a column rather than prose.

Sample query​

Live PostgREST query that returns the first 5 rows. URL adapts to the current host — local dev shows api-atlas.localhost; the deployed site shows the configured API base.

https://api-atlas.urbalurba.com/indicator_latest_values?limit=5

About this view​

The latest value of every indicator for every active kommune, in long format. One row per (source_id, contents_code, kommune_nr) at each indicator's latest_year, restricted to active kommuner. Backs the data explorer's per-indicator detail page (atlas-frontend /data/[source_id]/[contents_code]) and is the equivalent of the loadIndicatorValues() inline query. 🔴 ROW COUNT IS NOT COVERAGE. A row exists for every active kommune the source publishes at all, INCLUDING those where `value` is null. So a series returns ~357 rows whether 357 kommuner have a number or 66 do, and counting rows overstates coverage by up to five times. ⚠️ This has always been true and became dangerous on 2026-09-21, when nine Ungdata sources published at 18-43 % kommune coverage against SSB register sources at nearly 100 %. `fhi-hasj` returns 357 rows carrying 66 values. ✅ `indicator_summary.kommuner_with_value` is the live count and the only thing to trust. It is not restated here on purpose — a number copied into a description goes stale, which is the defect that made `fhi-depresjon` advertise fourteen years of data it never held. PostgREST consumers filter via ?source_id=eq.X&contents_code=eq.Y. The full table is the cross-product of every indicator with every active kommune that has a row at latest_year, so the unfiltered row count is large (~360 active kommuner × ~70 indicators in v1). Inactive kommuner (kommune_is_active = false) are excluded so the output reflects today's kommune set, not historical codes that upstream still emits.