Indicator coverage summary
Atlas view
Indicator coverage summary
api_v1.indicator_summaryOne row per (source_id, contents_code) summarising the latest-year coverage and value range for every indicator in fact_kommune_indicators.
First 5 rows ·
api_v1.indicator_summarysnapshot 2026-05-12
| source_id | contents_code | contents_label | latest_year | kommuner_with_value | kommuner_with_null | min_value | max_value | upstream_updated |
|---|---|---|---|---|---|---|---|---|
| fhi-bor-alene | RATE | Andel (prosent) | 2025 | 357 | 0 | 14.7781128823783 | 35.7101449275362 | 2026-05-06T14:33:01.602+00:00 |
| fhi-bor-alene | SMR | Standardisert rate (100 = nasjonalt snitt) | 2025 | 357 | 0 | 58.8771298331957 | 142.271943379717 | 2026-05-06T14:33:01.602+00:00 |
| fhi-bor-alene | TELLER | Antall personer | 2025 | 357 | 0 | 47 | 202221 | 2026-05-06T14:33:01.602+00:00 |
| fhi-mobbing | RATE_grade10 | Andel (prosent) (10. trinn) | 2022 | 167 | 190 | 3.36473755047106 | 18.3098591549296 | 2026-05-06T14:34:02.398+00:00 |
| fhi-mobbing | RATE_grade7 | Andel (prosent) (7. trinn) | 2022 | 208 | 149 | 2.72479564032698 | 36.3636363636364 | 2026-05-06T14:34:02.398+00:00 |
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
| Column | Description |
|---|---|
| source_id | Atlas source identifier, e.g. 'ssb-08764'. Joins back to fact_kommune_indicators.source_id and to the source declarations in indicators/sources.yml. |
| contents_code | Source-specific ContentsCode verbatim from upstream (e.g. 'EUskala60', 'Folkemengde'). Combined with source_id forms the natural key of this view. |
| contents_label | Human-readable label for contents_code, verbatim from upstream. NULL only if every contributing row had a NULL label (rare). |
| latest_year | Most recent calendar year for which this (source_id, contents_code) has any rows in fact_kommune_indicators. The coverage and value-range columns below are computed against this year only. |
| kommuner_with_value | Count of active kommuner (kommune_is_active = true) that have a non-NULL value for this indicator at latest_year. The headline coverage number on the data explorer. |
| kommuner_with_null | Count of active kommuner that have a row at latest_year but value IS NULL (i.e. upstream suppressed the cell). Inactive kommuner are not counted. |
| min_value | Minimum non-NULL value across all rows at latest_year, regardless of whether the kommune is active. NULL if no row had a value. |
| max_value | Maximum non-NULL value across all rows at latest_year, regardless of whether the kommune is active. NULL if no row had a value. |
| upstream_updated | Most recent fact_kommune_indicators.updated_at across the rows that contributed to this summary. Useful for staleness checks per indicator without joining to raw.*. |
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 api-atlas.sovereignsky.no.
https://api-atlas.sovereignsky.no/indicator_summary?limit=5
About this view
One row per (source_id, contents_code) summarising the latest-year
coverage and value range for every indicator in
fact_kommune_indicators. This is the backing dataset for the data
explorer index page (atlas-frontend /data) and is the equivalent of
the listIndicators() inline query that PostgREST projects as
/mart_indicator_summary on the public API.
Query shape: latest-year-per-indicator + group-by + value/null counts
filtered to active kommuner only. Inactive kommuner (historical
codes retained by upstream) are excluded from the counts so consumers
see "how many of today's kommuner have data?" not "how many rows
exist?".
Refreshed nightly together with fact_kommune_indicators. The
upstream_updated column carries the most recent raw load timestamp
across the rows that contributed to this summary, so freshness can
be inspected per indicator without joining to raw.* sources.