Inleiding
In Swing wordt aggregatie toegepast wanneer data niet op het gevraagde niveau beschikbaar is. Swing kan gegevens dan automatisch doortellen naar een hoger niveau.
Swing kent drie vormen van aggregatie:
- Gebiedsaggregatie
- Periodeaggregatie
- Dimensieaggregatie
Deze FAQ beschrijft de werking, uitzonderingen en prioriteitsregels.
1. Gebiedsaggregatie
Met gebiedsaggregatie wordt een relatie gelegd tussen meerdere gebiedsniveaus, zodat data kan worden opgeteld naar een hoger gebiedsniveau (oudergebied).
Voorbeelden van gebiedsniveaus die via een gebiedsaggregatie aan elkaar kunnen worden gekoppeld:
buurten → wijken → gemeenten → provincies → landsdelen → Nederland
1. Ingelezen data op het doelgebied heeft altijd voorrang
- Als data is ingelezen op het gebiedsniveau waarnaar wordt geaggregeerd, wordt altijd de ingelezen data getoond.
2. Bij meerdere aggregatieroutes kiest Swing:
- de kortste aggregatieroute;
- als aggregatieroutes even lang zijn: de route met het minste aantal gebieden.
Voorbeeld: data op gemeenten- en provincieniveau; welke data staat er per gebiedsniveau?
| Gebiedsniveau | Aggregatie naar | Data ingelezen? | Welke data wordt per niveau getoond? |
|---|---|---|---|
| gemeenten | → provincies | ja | gemeentedata |
| provincies | → landsdelen | ja | provinciedata |
| landsdelen | → Nederland | nee | geaggregeerde provinciedata |
| Nederland | n.v.t. | nee | totaal provinciedata |
Toelichting: Swing kiest de kortste route om tot het totaal van Nederland te komen. In dit voorbeeld loopt die route via provincies (provincies → landsdelen → Nederland).
Alternatieve snellere routes
Als de volgende aggregatieroute wordt toegevoegd: Gemeenten → Nederland,
dan wordt Nederland opgebouwd uit gemeentelijke data, omdat dit de kortste route is.
Verborgen gebieden
In de geoitem-tabel kunnen gebieden op hide worden gezet:
- Deze zijn niet zichtbaar in Swing Viewer.
- Maar worden wel meegenomen in de aggregatie.
Gevolg: het totaal op een ouderniveau kan afwijken van de zichtbare som van de onderliggende gebieden.
2. Periodeaggregatie
Swing past automatisch deze periodeaggregaties toe: maand → kwartaal → halfjaar → jaar.
Periodeoptelling geldt uitsluitend voor onderwerpen met: period type = pending.
Bij onderwerpen met: period type = stock worden periodes niet opgeteld. Swing toont dan altijd de data van de eerste beschikbare periode binnen het jaar (bijv. januari).
Kortste aggregatieroute geldt ook bij periodeaggregatie
Als data op meerdere periodeniveaus beschikbaar is, gebruikt Swing de kortste route.
Voorbeeld: data is ingelezen op maand- en kwartaalniveau → op jaarniveau wordt het totaal van de kwartalen getoond.
| Record | Periode | Gebiedsniveau | Periodeniveau | Waarde | Welke waarde wordt getoond bij Nederland-jaarniveau? |
|---|---|---|---|---|---|
| 1 | m1y2026 | Nederland | maand | 100 | niet gebruikt (lagere prioriteit) |
| 2 | q1y20226 | Nederland | kwartaal | 200 | Swing toont de geaggregeerde kwartaaldata |
Toelichting: als data van verschillende periodeniveaus tot verschillende totalen leiden, dient de data ook op jaarniveau te worden ingelezen.
3. Dimensieaggregatie
Bij dimensieaggregaties kunnen situaties optreden die bij gebruikers vragen kunnen oproepen. Deze situaties worden hieronder met een voorbeeld toegelicht.
3.1 Aggregatie naar hetzelfde dimensieniveau (alternatieve indelingen)
Meerdere dimensieniveaus kunnen niet naar hetzelfde dimensieniveau aggregeren.
De prioriteit van de dimensieaggregatie is gebaseerd op:
- de volgorde van de ingelezen records;
- alternatieve routes worden niet gebruikt.
Voorbeeld: data op 1-jaars- en op 5-jaarsleeftijdsklassen; welke waarde staat er bij 10-jaarsleeftijdsklassen?
| Record | Periode | Gebiedsniveau | Niveau | Waarde | Welke waarde wordt getoond bij dimensieniveau 10 jaar? |
|---|---|---|---|---|---|
| 1 | 2026 | Nederland | 1 jaar | 100 | Swing toont de geaggregeerde waarde van het 1e record |
| 2 | 2026 | Nederland | 5 jaar | 200 | niet gebruikt (lagere prioriteit) |
Toelichting: de waarde van 5 jaar wordt alleen getoond wanneer dit niveau wordt geselecteerd.
3.2 Aggregatie over meerdere dimensieniveaus (keten)
Bij aggregatieketens zoals leeftijdsklasseindelingen (1-jaars → 5-jaars → 10-jaars) geldt dat Swing alleen kan aggregeren vanaf het laagste dimensieniveau.
Hogere dimensieniveaus worden niet gebruikt als alternatieve aggregatie wanneer data op het laagste niveau ontbreekt.
Voorbeeld: in 2025 is data aanwezig op 1-jaarsniveau en 5-jaarsniveau; in 2026 ontbreekt data op 1-jaarsniveau. Welke waarde staat er bij 10-jaarsleeftijdsklassen?
| Record | Periode | Gebiedsniveau | Niveau | Waarde | Welke waarde wordt getoond bij dimensieniveau 10 jaar? |
|---|---|---|---|---|---|
| 1 | 2025 | Nederland | 1 jaar | 100 | Swing toont de geaggregeerde waarde op basis van 1-jaarsniveau |
| 2 | 2025 | Nederland | 5 jaar | 200 | niet gebruikt (lagere prioriteit) |
| 3 | 2026 | Nederland | 5 jaar | 200 | data ontbreekt op het laagste niveau (1 jaar); Swing kan geen waarde tonen bij 10 jaarsleeftijdsklassen. |
Toelichting: Zonder data op 1-jaarsniveau kan Swing geen waarde op 10-jaarsniveau afleiden.
Trendbreuken en randtotalen
Wanneer is dimensieaggregatie niet zinvol en moet data op meerdere niveaus worden ingelezen?
- 1-jaarsleeftijdsklassen zijn alleen beschikbaar op hogere gebiedsniveaus (onthullingspreventie).
- Detaildata kan afgerond zijn, terwijl geaggregeerde klassen exacte waarden bevatten.
- Door een wijziging in de methodiek is data in een andere indeling beschikbaar (trendbreuk).
In deze situaties moeten randtotalen worden ingelezen voor een correcte weergave op ieder niveau.
Meer informatie: zie kubushandleiding.
4. Prioriteit tussen aggregatietypen
Als meerdere aggregaties tegelijk mogelijk zijn, geldt de volgende prioritering:
- Gebiedsaggregatie
- Dimensieaggregatie
- Periodeaggregatie
Situatie 1: gebiedsaggregatie vs. periodeaggregatie
Voorbeeld: data op Nederland-maandniveau en gemeente-jaarniveau; welke data staat er bij Nederland-jaarniveau?
| Record | Periode | Gebiedsniveau | Periodeniveau | Welke aggregatie heeft voorrang? |
|---|---|---|---|---|
| 1 | m1y2026 | Nederland | maand | niet gebruikt (lagere prioriteit) |
| 2 | 2026 | gemeenten | jaar | gebiedsaggregatie heeft voorrang |
Resultaat: Nederland-jaarniveau = totaal gemeenten
Situatie 2: gebiedsaggregatie vs. dimensieaggregatie
Voorbeeld: randtotalen op gemeenteniveau en dimensie-items op Nederlandniveau; welke data staat er bij Nederland-jaarniveau?
| Record | Periode | Niveau | Gebiedsniveau | Periodeniveau | Welke aggregatie heeft voorrang? |
|---|---|---|---|---|---|
| 1 | 2026 | randtotaal | gemeenten | jaar | gebiedsaggregatie heeft voorrang |
| 2 | 2026 | dimensie-items | Nederland | jaar | niet gebruikt (lagere prioriteit) |
Resultaat: Nederland-jaarniveau = totaal gemeenten
Situatie 3: dimensieaggregatie vs. periodeaggregatie
Voorbeeld: kubusdata op jaarniveau en randtotalen op maandniveau; welke data staat er bij Nederland-jaarniveau?
| Record | Periode | Niveau | Gebiedsniveau | Periodeniveau | Welke aggregatie heeft voorrang? |
|---|---|---|---|---|---|
| 1 | 2026 | dimensie-items | Nederland | jaar | dimensieaggregatie heeft voorrang |
| 2 | m1y2026 | randtotaal | Nederland | maand | niet gebruikt (lagere prioriteit) |
Resultaat: Nederland-jaarniveau = totaal dimensie-items
Samenvattend
- Ingelezen data heeft voorrang op geaggregeerde data.
- Gebiedsaggregatie heeft hoogste prioriteit.
- Kortste aggregatieroute heeft voorrang.
- Dimensieaggregatie combineert geen parallelle routes → randtotalen zijn hier essentieel.
- Periodeaggregatie telt alleen op bij period type = pending.