*------------------------------------------------------------------------------------------------------------------------------. * * EU-Labour Force Survey - Data Service - German Microdata Lab * * This routine converts EU-LFS 2008 QUARTERLY data formatted in CSV into SAV. * Checked for the December 2009 release of the EU-LFS, as provided by Eurostat. * * The routine consists of two files: * Setup_EULFS_2008_q.sps * Labels_EULFS_2007-2009.sps * * Version 2 of the routine, July 2011 * IBM SPSS Statistics 18.0 * * (c) GESIS - Leibniz Institute for the Social Sciences * German Microdata Lab * Andrea Lengerer, Jan Richter * http://www.gesis.org/en/institute/ * Contact: gml@gesis.org * * This SPSS code is protected under the creative commons licence * *------------------------------------------------------------------------------------------------------------------------------. * Line 58: Change CSV_DATA_PATH to the path where the csv files are stored (e.g. E:\data\EU-LFS\csv\). * Line 372: Change LABEL_SYNTAX_PATH to the path where the file "Labels_EULFS_2007-2009.sps" is stored (e.g. E:\data\EU-LFS\syntax\). * Line 377: Change SPSS_DATA_PATH to the path where you want the sav files to be stored (e.g. E:\data\EU-LFS\sav\). * Line 396: Change FILENAMES to a list of files you want to convert from csv to sav (without file extension, e.g. de2007q1 de2007q2). *--------------------------------------------- Start Definition Macro ---------------------------------------------. DEFINE !readmac (datfile=!CHAREND('%')). !DO !i !IN (!datfile). *--- Read Raw Data ---. GET DATA / TYPE=TXT / FILE=!QUOTE(!CONCAT('CSV_DATA_PATH',!i,'.csv')) / DELCASE=LINE / DELIMITERS="," / ARRANGEMENT=DELIMITED / FIRSTCASE=2 / IMPORTCASE=ALL / VARIABLES= QHHNUM A9 COEFF COMMA7.5 QUARTER_ A2 HHNUM A6 REC F6.0 HHSEQNUM F2.0 REFYEAR F4.0 REFWEEK F2.0 INTWEEK F2.0 COUNTRY_ A2 REGION A2 DEGURBA F1.0 HHINST F1.0 INTWAVE F1.0 INTQUEST F1.0 REM F2.0 HHPRIV F1.0 SEX F1.0 AGE F2.0 NATIONAL_ A3 YEARESID F2.0 COUNTRYB_ A3 PROXY F1.0 WSTATOR F1.0 NOWKREAS F2.0 STAPRO F1.0 SIGNISAL F1.0 COUNTRYW_ A2 REGIONW A2 YSTARTWK F4.0 MSTARTWK F2.0 FTPT F1.0 TEMP F1.0 TEMPDUR F1.0 HWUSUAL F2.0 HWACTUAL F2.0 HWOVERP F2.0 HWOVERPU F2.0 HOURREAS F2.0 WISHMORE F1.0 HWWISH F2.0 LOOKOJ F1.0 EXIST2J F1.0 STAPRO2J F1.0 HWACTUA2 F2.0 EXISTPR F1.0 YEARPR F4.0 MONTHPR F2.0 STAPROPR F1.0 ISCOPR3D F3.0 SEEKWORK F2.0 SEEKTYPE F1.0 SEEKDUR F1.0 METHODA F1.0 METHODB F1.0 METHODC F1.0 METHODD F1.0 METHODE F1.0 METHODF F1.0 METHODG F1.0 METHODH F1.0 METHODI F1.0 METHODJ F1.0 METHODK F1.0 METHODL F1.0 METHODM F1.0 WANTWORK F1.0 AVAILBLE F1.0 EDUCSTAT F1.0 EDUCLEVL F1.0 COURATT F1.0 COURLEN F3.0 HATLEVEL F2.0 ILOSTAT F1.0 NA111D_ A1 NA11S F1.0 ISCO1D F3.0 NA112J1D_ A1 NA112JS F1.0 NA11PR1D_ A1 NA11PRS F1.0 ISCOPR1D F3.0 DURUNE F1.0 EDUC4WN F1.0 HATLEV1D_ A1 ISCO3D F3.0 STARTIME F3.0 LEAVTIME F3.0 LEAVCLAS F1.0 NACE1D_ A1 NACE2J1D_ A1 NACEPR1D_ A1. EXECUTE. *--- Recode Alphanumeric Variables ---. * Variables which remain alphanumeric: HHNUM and QHHNUM (too many values); REGION and REGIONW (values have country-specific meaning). RECODE QUARTER_ ('Q1'=1) ('Q2'=2) ('Q3'=3) ('Q4'=4) INTO QUARTER. RECODE COUNTRY_ ('AT'=1) ('BE'=2) ('BG'=3) ('CY'=4) ('CZ'=5) ('DE'=6) ('DK'=7) ('EE'=8) ('ES'=9) ('FI'=10) ('FR'=11) ('GR'=12) ('HU'=13) ('IE'=14) ('IS'=15) ('IT'=16) ('LT'=17) ('LU'=18) ('LV'=19) ('NL'=20) ('NO'=21) ('PL'=22) ('PT'=23) ('RO'=24) ('SE'=25) ('SI'=26) ('SK'=27) ('UK'=28) INTO COUNTRY. RECODE COUNTRYB_ ('000'=0) ('001'=1) ('002'=2) ('003'=3) ('004'=4) ('005'=5) ('006'=6) ('007'=7) ('008'=8) ('009'=9) ('010'=10) ('011'=11) ('012'=12) ('013'=13) ('014'=14) ('015'=15) ('016'=16) ('017'=17) ('018'=18) ('019'=19) ('020'=20) ('021'=21) ('NO'=-1) INTO COUNTRYB. RECODE NATIONAL_ ('000'=0) ('001'=1) ('002'=2) ('003'=3) ('004'=4) ('005'=5) ('006'=6) ('007'=7) ('008'=8) ('009'=9) ('010'=10) ('011'=11) ('012'=12) ('013'=13) ('014'=14) ('015'=15) ('016'=16) ('017'=17) ('018'=18) ('019'=19) ('020'=20) ('021'=21) ('NO'=-1) INTO NATIONAL. RECODE NA111D_ NA112J1D_ NA11PR1D_ ('A'=1) ('B'=2) ('C'=3) ('D'=4) ('E'=5) ('F'=6) ('G'=7) ('H'=8) ('I'=9) ('J'=10) ('K'=11) ('L'=12) ('M'=13) ('N'=14) ('O'=15) ('P'=16) ('Q'=17) (' '=-1) ('9'=-2) INTO NA111D NA112J1D NA11PR1D. RECODE HATLEV1D_ ('L'=1) ('M'=2) ('H'=3) ('9'=-2) (' '=-1) INTO HATLEV1D. RECODE NACE1D_ NACE2J1D_ NACEPR1D_ ('A'=1) ('B'=2) ('C'=3) ('D'=4) ('E'=5) ('F'=6) ('G'=7) ('H'=8) ('I'=9) ('J'=10) ('K'=11) ('L'=12) ('M'=13) ('N'=14) ('O'=15) ('P'=16) ('Q'=17) ('R'=18) ('S'=19) ('T'=20) ('U'=21) (' '=-1) ('9'=-2) INTO NACE1D NACE2J1D NACEPR1D. RECODE COUNTRYW_ ('01'=0100) ('02'=0200) ('03'=0300) ('04'=0400) ('05'=0500) ('06'=0600) ('07'=0700) ('08'=0800) ('09'=0900) ('10'=1000) ('11'=1100) ('12'=1200) ('13'=1300) ('14'=1400) (' '=-1) ('99'=-2) ('AD'=0401) ('AE'=1101) ('AF'=1201) ('AG'=0801) ('AI'=0802) ('AL'=0402) ('AM'=1102) ('AN'=0803) ('AO'=0601) ('AQ'=1301) ('AR'=0901) ('AS'=1302) ('AT'=0101) ('AU'=1303) ('AW'=0804) ('AX'=0403) ('AZ'=1103) ('BA'=0404) ('BB'=0805) ('BD'=1202) ('BE'=0102) ('BF'=0602) ('BG'=0103) ('BH'=1104) ('BI'=0603) ('BJ'=0604) ('BL'=0806) ('BM'=0701) ('BN'=1203) ('BO'=0902) ('BR'=0903) ('BS'=0807) ('BT'=1204) ('BV'=1304) ('BW'=0605) ('BY'=0405) ('BZ'=0808) ('CA'=0702) ('CC'=1205) ('CD'=0606) ('CF'=0607) ('CG'=0608) ('CH'=0301) ('CI'=0609) ('CK'=1305) ('CL'=0904) ('CM'=0610) ('CN'=1001) ('CO'=0905) ('CR'=0809) ('CU'=0810) ('CV'=0611) ('CX'=1206) ('CY'=0104) ('CZ'=0105) ('DE'=0106) ('DJ'=0612) ('DK'=0107) ('DM'=0811) ('DO'=0812) ('DZ'=0501) ('EC'=0906) ('EE'=0108) ('EG'=0502) ('EH'=0613) ('ER'=0614) ('ES'=0109) ('ET'=0615) ('FI'=0110) ('FJ'=1306) ('FK'=0907) ('FM'=1307) ('FO'=0406) ('FR'=0111) ('GA'=0616) ('GD'=0813) ('GE'=1105) ('GF'=0908) ('GG'=0407) ('GH'=0617) ('GI'=0408) ('GL'=0703) ('GM'=0618) ('GN'=0619) ('GP'=0814) ('GQ'=0620) ('GR'=0112) ('GS'=0909) ('GT'=0815) ('GU'=1308) ('GW'=0621) ('GY'=0910) ('HK'=1002) ('HM'=1309) ('HN'=0816) ('HR'=0201) ('HT'=0817) ('HU'=0113) ('ID'=1207) ('IE'=0114) ('IL'=1106) ('IM'=0409) ('IN'=1208) ('IO'=1310) ('IQ'=1107) ('IR'=1108) ('IS'=0315) ('IT'=0116) ('JE'=0410) ('JM'=0818) ('JO'=1109) ('JP'=1003) ('KE'=0622) ('KG'=1110) ('KH'=1209) ('KI'=1311) ('KM'=0623) ('KN'=0819) ('KP'=1210) ('KR'=1211) ('KW'=1111) ('KY'=0820) ('KZ'=1112) ('LA'=1212) ('LB'=1113) ('LC'=0821) ('LI'=0302) ('LK'=1213) ('LR'=0624) ('LS'=0625) ('LT'=0117) ('LU'=0118) ('LV'=0119) ('LY'=0503) ('MA'=0504) ('MC'=0411) ('MD'=0412) ('ME'=0413) ('MF'=0822) ('MG'=0626) ('MH'=1312) ('MK'=0202) ('ML'=0627) ('MM'=1214) ('MN'=1215) ('MO'=1007) ('MP'=1313) ('MQ'=0823) ('MR'=0628) ('MS'=0824) ('MT'=0129) ('MU'=0629) ('MV'=1216) ('MW'=0630) ('MX'=0825) ('MY'=1217) ('MZ'=0631) ('NA'=0632) ('NC'=1314) ('NE'=0633) ('NF'=1315) ('NG'=0634) ('NI'=0826) ('NL'=0120) ('NO'=0321) ('NP'=1218) ('NR'=1316) ('NU'=1317) ('NZ'=1318) ('OM'=1114) ('PA'=0827) ('PE'=0911) ('PF'=1319) ('PG'=1320) ('PH'=1219) ('PK'=1220) ('PL'=0122) ('PM'=0704) ('PN'=1321) ('PR'=0828) ('PS'=1115) ('PT'=0123) ('PW'=1322) ('PY'=0912) ('QA'=1116) ('RE'=0635) ('RO'=0124) ('XS'=0421) ('RU'=0414) ('RW'=0636) ('SA'=1117) ('SB'=1323) ('SC'=0637) ('SD'=0638) ('SE'=0125) ('SG'=1221) ('SH'=0639) ('SI'=0126) ('SJ'=0415) ('SK'=0127) ('SL'=0640) ('SM'=0416) ('SN'=0641) ('SO'=0642) ('SR'=0913) ('ST'=0643) ('SV'=0829) ('SY'=1118) ('SZ'=0644) ('TD'=0645) ('TC'=0830) ('TF'=0914) ('TG'=0646) ('TH'=1222) ('TJ'=1119) ('TK'=1324) ('TL'=1223) ('TO'=1325) ('TM'=1120) ('TN'=0505) ('TR'=0203) ('TT'=0831) ('TV'=1326) ('TW'=1008) ('TZ'=0647) ('UA'=0417) ('UG'=0648) ('UK'=0128) ('UM'=1327) ('US'=0705) ('UY'=0915) ('UZ'=1121) ('VA'=0418) ('VC'=0832) ('VE'=0916) ('VG'=0833) ('VN'=1224) ('VU'=1328) ('WF'=1329) ('WS'=1330) ('XK'=0419) ('XM'=0420) ('YE'=1122) ('YT'=0648) ('ZA'=0650) ('ZM'=0651) ('ZW'=0652) INTO COUNTRYW. FORMAT QUARTER HATLEV1D (F1.0). FORMAT COUNTRY COUNTRYB NATIONAL NA111D NA112J1D NA11PR1D NACE1D NACE2J1D NACEPR1D (F2.0). FORMATS COUNTRYW (F4.0). *--- Recode Missing Values ---. RECODE YEARESID (SYSMIS=-1). RECODE LEAVCLAS (SYSMIS=-9). RECODE STARTIME LEAVTIME (SYSMIS=-101). RECODE WSTATOR SIGNISAL SEEKWORK METHODA METHODB METHODC METHODD METHODE METHODF METHODG METHODH METHODI METHODJ METHODK METHODL METHODM ILOSTAT (9=-2). RECODE NOWKREAS (99=-2). RECODE HHINST PROXY STAPRO FTPT TEMP TEMPDUR WISHMORE LOOKOJ EXIST2J STAPRO2J EXISTPR STAPROPR SEEKTYPE SEEKDUR WANTWORK AVAILBLE EDUCSTAT EDUCLEVL COURATT NA11S NA112JS NA11PRS DURUNE EDUC4WN (9=-2) (SYSMIS=-1). RECODE MSTARTWK HWUSUAL HWACTUAL HWOVERP HWOVERPU HOURREAS HWWISH HWACTUA2 MONTHPR HATLEVEL COUNTRYW (99=-2) (SYSMIS=-1). RECODE ISCOPR3D COURLEN ISCO1D ISCOPR1D ISCO3D (999=-2) (SYSMIS=-1). RECODE YSTARTWK YEARPR (9999=-2) (SYSMIS=-1). RECODE REGIONW (' '='-1') ('99'='-2'). EXECUTE. * Recoding of Startime and Leavtime (see Readme) DO IF WSTATOR <1 OR WSTATOR >2. RECODE STARTIME (-101=-102). END IF. DO IF EXISTPR <> 1. RECODE LEAVTIME (-101=-102). END IF. EXECUTE. *--- Transform Variables in Countries which did not deliver any Information for this Variable ---. DO IF COUNTRY=1. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=2. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=3. RECODE HWOVERP HWOVERPU NA11S NA112JS NA11PRS NA111D NA112J1D NA11PR1D HHINST (ELSE=-3). ELSE IF COUNTRY=5. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=6. RECODE INTWAVE HHINST (ELSE=-3). ELSE IF COUNTRY=7. RECODE HHSEQNUM HHINST (ELSE=-3). ELSE IF COUNTRY=9. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=10. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=11. RECODE ISCOPR3D ISCOPR1D SIGNISAL (ELSE=-3). ELSE IF COUNTRY=12. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=13. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=14. RECODE STAPROPR HHINST(ELSE=-3). ELSE IF COUNTRY=15. RECODE EDUCLEVL DEGURBA (ELSE=-3). ELSE IF COUNTRY=16. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=17. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=18. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=19. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=20. RECODE HHINST (ELSE=-3). RECODE REGION REGIONW (ELSE='-3'). ELSE IF COUNTRY=21. RECODE DEGURBA HHINST (ELSE=-3). ELSE IF COUNTRY=22. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=23. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=24. RECODE HHINST DEGURBA (ELSE=-3). ELSE IF COUNTRY=25. RECODE NA11S NA112JS NA11PRS NA111D NA112J1D NA11PR1D HHINST (ELSE=-3). ELSE IF COUNTRY=26. RECODE NA11S NA112JS NA11PRS NA111D NA112J1D NA11PR1D HHINST(ELSE=-3). ELSE IF COUNTRY=27. RECODE HHINST (ELSE=-3). END IF. EXECUTE. *--- Recode Variabels in specific countries---* * variable COUNTRYW is coded differently for Slovenia than in other countries. DO IF COUNTRY=26. RECODE COUNTRYW_ ('00'=126) ('NO'=-2) INTO COUNTRYW. END IF. * in Iceland, variables REM and REFWEEK start counting from one in each quarter, and have to be recoded to conform with the continuous counting of the other countries. DO IF COUNTRY=15 AND QUARTER=2. RECODE REM (1=4) (2=5) (3=6). RECODE REFWEEK (1=14) (2=15) (3=16) (4=17) (5=18) (6=19) (7=20) (8=21) (9=22) (10=23) (11=24) (12=25) (13=26). ELSE IF COUNTRY=15 AND QUARTER=3. RECODE REM (1=7) (2=8) (3=9). RECODE REFWEEK (1=27) (2=28) (3=29) (4=30) (5=31) (6=32) (7=33) (8=34) (9=35) (10=36) (11=37) (12=38) (13=39). ELSE IF COUNTRY=15 AND QUARTER=4. RECODE REM (1=10) (2=11) (3=12). RECODE REFWEEK (1=40) (2=41) (3=42) (4=43) (5=44) (6=45) (7=46) (8=47) (9=48) (10=49) (11=50) (12=51) (13=52). END IF. * in certain cases, members of the armed forces had been coded wrong in the 3-digit ISCO. RECODE ISCO3D ISCOPR3D (11=10) (ELSE=COPY). DO IF COUNTRY=3 OR COUNTRY=22 OR COUNTRY=26. RECODE ISCO3D ISCOPR3D (100=10) (ELSE=COPY). END IF. EXECUTE. *--- Declare User-Missing Values ---. MISSING VALUES HHPRIV YEARESID NATIONAL COUNTRYB (-1) / WSTATOR NOWKREAS SEEKWORK METHODA METHODB METHODC METHODD METHODE METHODF METHODG METHODH METHODI METHODJ METHODK METHODL METHODM ILOSTAT (-2) / PROXY STAPRO YSTARTWK MSTARTWK FTPT TEMP TEMPDUR HWUSUAL HWACTUAL HOURREAS WISHMORE HWWISH LOOKOJ EXIST2J STAPRO2J HWACTUA2 EXISTPR YEARPR MONTHPR SEEKTYPE SEEKDUR WANTWORK AVAILBLE EDUCSTAT COURATT COURLEN HATLEVEL ISCO1D DURUNE EDUC4WN HATLEV1D ISCO3D NACE1D NACE2J1D COUNTRYW (-2,-1) / INTWAVE HHSEQNUM (-3) / DEGURBA (-3, -1) / SIGNISAL (-3,-2) / HWOVERP HWOVERPU STAPROPR ISCOPR3D EDUCLEVL NA11S NA112JS NA11PRS ISCOPR1D NA111D NA112J1D NA11PR1D NACEPR1D HHINST (-3,-2,-1) / LEAVCLAS (-9) / STARTIME LEAVTIME (-102,-101). MISSING VALUES REGION ('-3') / REGIONW ('-1','-2','-3'). *--- Delete Recoded Alphanumeric Variables ---. DELETE VARIABLES QUARTER_ COUNTRY_ COUNTRYB_ COUNTRYW_ NATIONAL_ NA111D_ NA112J1D_ NA11PR1D_ HATLEV1D_ NACE1D_ NACE2J1D_ NACEPR1D_. *--- Define Variable and Value Labels ---. INCLUDE FILE='LABEL_SYNTAX_PATH/Labels_EULFS_2007-2009.sps'. *--- Save SAV-Files ---. SAVE OUTFILE= !QUOTE(!CONCAT('SPSS_DATA_PATH',!i,'.sav')). !DOEND. !ENDDEFINE. *---------------------------------------------- End Definition Macro ----------------------------------------------. *-------------------------------------------------- Invoke Macro --------------------------------------------------. !readmac datfile=FILENAMES %.