3.9 Hvordan jobbe med variabler med hierarkiske kodelister
Noen typer variabler inneholder kategoriseringer i form av hierarkiske kodelister. Dette er koder som består av en viss mengde sifre (kan også være bokstaver eller andre tegn), der de første sifrene angir kategorisering på høyeste nivå, og jo flere sifre du inkluderer, jo lenger ned i hierarkiet beveger du deg (altså du øker detaljeringsnivået).
Felles for slike variabler er at verdiformatet er alfanumerisk/streng, og at du derfor kan benytte funksjonen substr() til å trekke ut deler av kodeverdiene.
Kodeverdier har den fordelen at de inneholder mer enn én opplysning. Avhengig av hvor mange sifre du velger å benytte, så kan du hente ut informasjon på ulike nivåer.
Eksempler på slike variabler:
- bosteds- og arbeidsstedskommune
- utdanningskode
- næringskode
- yrkeskode
Bosteds- og arbeidsstedskommune
Aktuelle variabler:
- BEFOLKNING_KOMMNR_FORMELL (Formell bostedskommune per 1/1)
- BEFOLKNING_KOMMNR_FAKTISK (Faktisk bostedskommune per 1/1)
- BOSATTEFDT_BOSTED (Formell bostedskommune, løpende oppdatering)
- BEFOLKNING_FOEDEKOMMNR (Fødekommune)
- NUDB_KOMM_16 (Bostedskommune ved fylte 16 år)
- ARBLONN_PERS_KOMMNR (Bostedskommune, månedlig oppdatering, kilde = A-ordningen)
- ARBLONN_ARB_ARBKOMM (Arbeidsstedskommune, månedlig oppdatering, kilde = A-ordningen)
- REGSYS_ARB_ARBKOMM (Arbeidsstedskommune per 16/11, hovedarbeidsforhold)
- SOSHJELP_KOMMUNE (Utbetalingskommune for sosialhjelp)
- TRAFULYK_KOMMUNE (Trafikkulykkekommune)
- BARNEVERN_KOMM (Barnevernkommune)
- VALG_MANNTALL_KOMMNR (Manntallkommune)
- ELHUB_PERS_MALEPUNKT_ADR_KOMMUNE (Målepunktets kommune)
Alle disse variablene inneholder en firesifret kommunekode der de to første sifrene peker til fylke.

Eksempel på uttrekk av høyeste nivå (fylke):

Slik lager man verdi-labler til kodene:

Utdanningskode
Aktuelle variabler:
- NUDB_BU (Høyeste fullførte utdanning)
- NUDB_KURS_NUS (Pågående utdanning)
- NUDB_NUS2000_FAR_16 (Fars høyeste utdanning ved fylte 16 år)
- NUDB_NUS2000_MOR_16 (Mors høyeste utdanning ved fylte 16 år)
Dette er seksifrede koder som bygger på NUS2000-standarden, der første siffer angir utdanningsnivå. Jo høyere verdi, jo høyere utdanningsnivå:

De neste sifrene angir informasjon om hva slags type studie man tar.
Eksempel på uttrekk av høyeste nivå (utdanningsnivå):

Slik lager man verdi-labler til kodene:

Næringskode
Aktuelle variabler:
- REGSYS_VIRK_NACE1_SN07 (Virksomhetens hovednæring 2015-2019, SN2007-standard)
- REGSYS_NARING_SN2007 (Næring hovedarbeidsgiver 2008-2014, SN2007-standard)
- REGSYS_NARING_SN2002 (Næring hovedarbeidsgiver 2002-2007, SN2002-standard)
- REGSYS_NARING_SN94 (Næring hovedarbeidsgiver 2000-2001, SN94-standard)
Næringskoder bygger på ulike standarder, avhengig av hvilken tidsperiode man ser på. Nyeste standard er SN2007 som gjelder fra 2008. Merk at næringsdata ikke oppdateres i microdata.no for årene etter 2019. Dette skyldes innstramminger i personvernreglene, noe som særlig påvirker næringsdataene.
De to første sifrene angir hovednæringsgruppe. De etterfølgende sifrene peker på mer detaljerte næringer.

Eksempel på uttrekk av høyeste nivå (hovednæring):

Slik lager man verdi-labler til kodene (benytter SSB sin standardgruppering av hovednæringer):

Yrkeskode
Aktuelle variabler:
- REGSYS_ARB_YRKE_STYRK08 (Yrkeskode for hovedarbeidsforhold per 16/11 2015-2024, STYRK08-standard)
- REGSYS_YRKE_PUBL (Yrkeskode for hovedarbeidsforhold per 1/11 2009-2015, STYRK08-standard)
- ARBLONN_ARB_YRKE_STYRK08 (Yrkeskode 2015-2025, månedlig oppdatering, STYRK08-standard)
Dette er en firesifret kode som baserer seg på STYRK-standarden. Første siffer angir hovednivå der man klassifiserer yrker etter kompetansekrav. Jo høyere verdi, jo lavere kompetansekrav.

Eksempel på uttrekk av høyeste nivå (yrkesnivå):

Slik lager man verdi-labler til kodene:

Det er fullt mulig å benytte en finere inndeling av yrker, dvs. tosifret eller tresifret kodeinndeling.
Eksempel på uttrekk av tosifret inndeling:

Slik lager man verdi-labler til kodene:

Eksempel på uttrekk av tresifret inndeling:

Slik lager man verdi-labler til kodene:

Verdi-labler
Variabler med hierarkiske kodeverdier har innebyggede labler i datasettet. Men dersom du ønsker å trekke ut deler av verdiene for å lage en grovere inndeling, må du selv opprette nye labler som passer til den grovere inndelingen. Slike labler finner du på SSB sin hjemmeside: https://www.ssb.no/klass/. Du søker etter den aktuelle kodestandarden i en tematisk inndeling, og finner da standarder som kan lastes ned som tekstfil. Det er også mulig å lage en semikolonnsepartert fil som kan lastes opp i microdata.no, og som automatisk legger på labler. Man lager fire kolonner der man legger inn følgende verdier:
- Kodeverdi
- Tom kolonne
- Kodeverdi (samme som 1.)
- Labler
Rent praktisk limer man først inn verdier og labler i et regneark, i fire kolonner som beskrevet. Deretter lagrer man som csv-fil. Dette kan så lastes opp i microdata.no vha. opplastingsknappen nede til venstre:

Her finner du et skript som genererer alle lablene som vises i dette kapittelet