Frågor om om SSYK

Hej,

jag använder er historiska databas och försöker förstå vilken eller vilka variabler som motsvarar ssyk96 och ssyk2012.

Jag har två frågor gällande detta.

Fråga 1 är något invecklad:

Jag jobbar med datan i R, men har omvandlat historiska datans .jsonl-filer med följande Pythonscript (som eventuellt är från er?):

from os import listdir
from os.path import join, isfile

path = r"C:\Users\xmaaxe\Dropbox\Application Sweden\2. Job-ads\1. Exploration of the data (2023)\Monthly data"
for filename in listdir(path):  # iterates over all the files in 'path'
    if filename.endswith(".jsonl"):# open only if it is a jsonl file
        print(filename)
        with open(filename, 'r', encoding='utf-8', errors='ignore') as f:  # open the file
            data = [json.loads(line) for line in f.readlines()]
        df = pd.json_normalize(data) # remove the levels of the json data and make them into columns
        for col in df.columns: # correct the type for the columns, making them strings
            df[col] = df[col].astype(str)
        df.to_stata('%s.dta'%filename[0:7], version=118)  # export this as a stata-file with the name without the extension

Efter att jag har importerat datan i R får jag följande variabler:

> colnames(X2006_01)
 [1] "access"                                    "access_to_own_car"                        
 [3] "application_deadline"                      "driving_license"                          
 [5] "driving_license_required"                  "experience_required"                      
 [7] "external_id"                               "headline"                                 
 [9] "id"                                        "last_publication_date"                    
[11] "logo_url"                                  "number_of_vacancies"                      
[13] "publication_date"                          "removed"                                  
[15] "removed_date"                              "salary_description"                       
[17] "source_type"                               "timestamp"                                
[19] "webpage_url"                               "application_details_email"                
[21] "application_details_information"           "application_details_other"                
[23] "application_details_reference"             "application_details_url"                  
[25] "application_details_via_af"                "description_company_information"          
[27] "description_conditions"                    "description_needs"                        
[29] "description_requirements"                  "description_text"                         
[31] "description_text_formatted"                "duration_concept_id"                      
[33] "duration_label"                            "duration_legacy_ams_taxonomy_id"          
[35] "employer_email"                            "employer_name"                            
[37] "employer_organization_number"              "employer_phone_number"                    
[39] "employer_url"                              "employer_workplace"                       
[41] "employment_type_concept_id"                "employment_type_label"                    
[43] "employment_type_legacy_ams_taxonomy_id"    "must_have_languages"                      
[45] "must_have_skills"                          "must_have_work_experiences"               
[47] "nice_to_have_languages"                    "nice_to_have_skills"                      
[49] "nice_to_have_work_experiences"             "occupation_concept_id"                    
[51] "occupation_label"                          "occupation_legacy_ams_taxonomy_id"        
[53] "occupation_field_concept_id"               "occupation_field_label"                   
[55] "occupation_field_legacy_ams_taxonomy_id"   "occupation_group_concept_id"              
[57] "occupation_group_label"                    "occupation_group_legacy_ams_taxonomy_id"  
[59] "salary_type_concept_id"                    "salary_type_label"                        
[61] "salary_type_legacy_ams_taxonomy_id"        "scope_of_work_max"                        
[63] "scope_of_work_min"                         "working_hours_type_concept_id"            
[65] "working_hours_type_label"                  "working_hours_type_legacy_ams_taxonomy_id"
[67] "workplace_address_city"                    "workplace_address_coordinates"            
[69] "workplace_address_country"                 "workplace_address_country_code"           
[71] "workplace_address_country_concept_id"      "workplace_address_municipality"           
[73] "workplace_address_municipality_code"       "workplace_address_municipality_concept_id"
[75] "workplace_address_postcode"                "workplace_address_region"                 
[77] "workplace_address_region_code"             "workplace_address_region_concept_id"      
[79] "workplace_address_street_address"          "other_old_legacy_attributes_arbetsdrift"  
[81] "other_old_legacy_attributes_dxa"           "other_old_legacy_attributes_bil_krav"     
[83] "other_old_legacy_attributes_tilltrade"    

Ok.

Fråga 1:
Hur urskiljer jag vilken variabel som är ssyk-96 och ssyk2012?

occupation_group_legacy_ams_taxonomy_id verkar vara ssyk12, stämmer det?
Det finns även andra, men jag förstår inte riktigt vad de är. Tex så verkar occupation_legacy_ams_taxonomy_id inte matcha med varken 96 eller 12.

Fråga 2:

Det verkar som att det finns npn sorts ssyk-variabel i er API (se: Matcha LegacyAmsTaxonomyId med SSYK-2012?). Varför finns inte den i min databas? (kanske är det så att jag måste ladda ner den berikade versionen slår det mig nu…).

Mycket tacksam för hjälp.

Hej!

Precis, SSYK4-gruppens/occupation-group SSYK-kod hittar du via legacy_ams_taxonomy_id för occupation_group. Den motsvarar ssyk_code_2012 i Taxonomy-API:et (se query nedan). Ursäktar att vi använder oss av olika begrepp för detta.

curl -X 'GET' \
  'https://taxonomy.api.jobtechdev.se/v1/taxonomy/graphql?query=query%20MyQuery%20%7B%20%20%20concepts%28type%3A%20%22ssyk-level-4%22%29%20%7B%20%20%20%20%20id%20%20%20%20%20preferred_label%20%20%20%20%20type%20%20%20%20%20deprecated_legacy_id%20%20%20%20%20ssyk_code_2012%20%20%20%7D%20%7D' \
  -H 'accept: application/json'

En sak som är lite lurig är att legacy_ams_taxonomy_id avser en annan typ av kod när den förekommer tillsammans med andra begrepp än SSYK4-gruppen/occupation-group. I exemplet nedan, för occupation, avser legacy_ams_taxonomy_id ett id som användes för att referera till begrepp i den gamla Taxonomy-databasen. Dessa ID:n används fortfarande i viss utsträckning inom Arbetsförmedlingen, men ersätts på senare tid av concept_id.

   "occupation":[
      {
         "concept_id":"bLKd_4Wg_3rn",
         "label":"Fordonstekniker/Bilmekaniker/Personbilsmekaniker",
         "legacy_ams_taxonomy_id":"600",
         "original_value":true
      }
   ],

SSYK-kod listas alltså enbart för occupation_group.

SSYK96 är inte representerad i vare sig annonsdata eller i Taxonomy. Där behöver man i sådant fall göra en konvertering med hjälp av ssyk_code_2012 på sidan av. SCB erbjuder översättningsnycklar här: Standard för svensk yrkesklassificering (SSYK)

Hoppas det var någorlunda svar på dina frågor. Annars är det bara att återkomma!

Mvh
David

1 gillning

Hej David, tack för svar.

Jag har faktiskt ganska många frågor om just detta, finns det någon möjlighet att disskutera detta över zoom, telefon eller dylikt? Kanske via mail? (tomas.reivinger@economics.gu.se eller 0722508212).

Jag tror att vissa problem uppstår när jag “plattar till” datan så att jag har en vanlig data.frame som går att jobba med statistiskt.

En fråga som du kanske kan svara på direkt är: Vad är den 4-siffriga koden som varken är SSYK96 eller SSYK12? I min tillplattade data heter den occupation_legacy_ams_taxonomy_id, dvs variablen utan group . Det är viktigt för det du kallar " legacy_ams_taxonomy_id för occupation_group " finns bara för ären 2020-idag, men jag vill gärna ha något för hela perioden.

Vänligen,
Tomas

Hej igen!

Den koden är ett gammalt id som framförallt har använts vid kommunikation mellan Arbetsförmedlingens interna system. Men jag förstår problematiken. Vi har möjlighet att konvertera den koden till exempelvis en SSYK-kod om det skulle finnas behov.

Jag återkommer till dig för att stämma av en lämplig tid.

Mvh
David