*------------------------------------------------------------------------------------------------------------------------------. * * EU-Labour Force Survey - Data Service - German Microdata Lab * * This routine converts EU-LFS 2009 QUARTERLY data formatted in CSV into SAV. * Checked for the November 2010 release of the EU-LFS, as provided by Eurostat. * * The whole routine consists of two files: * Setup_EULFS_2009_q.sps * Labels_EULFS_2007-2009.sps * * Version 1 of the routine, August 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. * *------------------------------------------------------------------------------------------------------------------------------. * CONFIGURATION. * Line 58: Change CSV_DATA_PATH to the path where the csv files are stored * (e.g. E:\data\EU-LFS\csv\). * Line 355: 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 360: Change SPSS_DATA_PATH to the path where you want the sav files to be stored * (e.g. E:\data\EU-LFS\sav\). * Line 375: Change FILENAMES to a list of files you want to convert from csv to sav * (without file extension, e.g. de2009q1 se2009q3). *--------------------------------------------- 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 COMMA9.7 QUARTER_ A2 HHNUM A9 REC F8.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 F8.0 YEAR F4.0 HHPRIV F1.0 SEX F1.0 AGE F8.0 NATIONAL_ A3 YEARESID_ A5 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 F8.0 HWACTUAL F8.0 HWOVERP F8.0 HWOVERPU F8.0 HOURREAS F2.0 WISHMORE F1.0 HWWISH F8.0 LOOKOJ F1.0 EXIST2J F1.0 STAPRO2J F1.0 HWACTUA2 F8.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 F1.0 NA112J1D_ A1 NA112JS F1.0 NA11PR1D_ A1 NA11PRS F1.0 ISCOPR1D F1.0 DURUNE F1.0 EDUC4WN F1.0 HATLEV1D_ A1 ISCO3D F3.0 STARTIME F8.0 LEAVTIME F8.0 LEAVCLAS F1.0 NACE1D_ A1 NACE2J1D_ A1 NACEPR1D_ A1 AGERESID F2.0. EXECUTE. *--- Recode Alphanumeric Variables ---. * Variables which remain alphanumeric: HHNUM and QHHNUM (too many values); QUARTER (only one value); REGION, REGIONW and (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 HATLEV1D_ ('L'=1) ('M'=2) ('H'=3) ('9'=-2) ('8'=8) (' '=-1) INTO HATLEV1D. 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) ('NOT'=-2) 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) (' '=-3) ('9'=-2) INTO NA111D NA112J1D NA11PR1D. 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'=1004) ('KR'=1005) ('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'=1006) ('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. RECODE YEARESID_ (' '=-1) ('0'=0) ('00'=0) ('01'=1) ('1'=1) ('02'=2) ('2'=2) ('03'=3) ('3'=3) ('04'=4) ('4'=4) ('05'=5) ('5'=5) ('06'=6) ('07'=7) ('7'=7) ('08'=8) ('8'=8) ('09'=9) ('9'=9) ('10'=10) ('11-14'=12) ('15-19'=17) ('20-24'=22) ('25-29'=27) ('30-34'=32) ('35-39'=37) ('40-44'=42) ('45-49'=47) ('50-54'=52) ('55-59'=57) ('60-64'=62) ('65-69'=67) ('70-74'=72) ('75-79'=77) ('80-84'=82) ('85-89'=87) ('90-94'=92) ('95-99'=97) INTO YEARESID. * TheVariable COUNTRYW is coded differently for Slovenia than in other countries. DO IF COUNTRY=26. RECODE COUNTRYW_ ('00'=126) ('NO'=-2) INTO COUNTRYW. END IF. EXECUTE. FORMAT QUARTER HATLEV1D (F1.0). FORMAT COUNTRY COUNTRYB NATIONAL NA111D NA112J1D NA11PR1D NACE1D NACE2J1D NACEPR1D YEARESID (F2.0). FORMAT COUNTRYW (F4.0). *--- Recode Missing Values ---. RECODE AGERESID (SYSMIS=-1). RECODE NA11S NA112JS NA11PRS (SYSMIS=-3). RECODE LEAVCLAS (SYSMIS=-9). RECODE STARTIME LEAVTIME (SYSMIS=-101) (999=-102). 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 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. *--- Recode Variabels in Specific Cases ---. DO IF COUNTRY=1. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=2. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=3. RECODE HWOVERP HWOVERPU HHINST(ELSE=-3). ELSE IF COUNTRY=5. RECODE HHINST(ELSE=-3). ELSE IF COUNTRY=6. RECODE HHINST INTWAVE STAPROPR (ELSE=-3). ELSE IF COUNTRY=7. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=9. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=10. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=11. RECODE SIGNISAL ISCOPR1D ISCOPR3D (ELSE=-3). ELSE IF COUNTRY=12. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=13. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=14. RECODE HHINST STAPROPR (ELSE=-3). ELSE IF COUNTRY=15. RECODE DEGURBA EDUCLEVL YEARESID (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 HHINST DEGURBA NACEPR1D (ELSE=-3). ELSE IF COUNTRY=22. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=23. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=24. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=25. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=26. RECODE HHINST (ELSE=-3). ELSE IF COUNTRY=27. RECODE HHINST (ELSE=-3). END IF. EXECUTE. * 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 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 LOOKOJ EXIST2J STAPRO2J HWACTUA2 EXISTPR YEARPR MONTHPR SEEKTYPE SEEKDUR WANTWORK AVAILBLE EDUCSTAT COURATT COURLEN HATLEVEL HATLEV1D ISCO1D DURUNE EDUC4WN HWWISH ISCO3D NACE1D NACE2J1D COUNTRYW NATIONAL (-2,-1) / YEARESID (-3,-1) / SIGNISAL (-3,-2) / DEGURBA INTWAVE (-3) / HWOVERP HWOVERPU STAPROPR ISCOPR3D EDUCLEVL NA11S NA112JS NA11PRS ISCOPR1D NA111D NA112J1D NA11PR1D NACEPR1D HHINST (-3,-2,-1) / AGERESID (-4,-2,-1) / LEAVCLAS (-9) / STARTIME LEAVTIME (-101,-102). MISSING VALUES REGION ('-3') / REGIONW ('-1','-2','-3'). EXECUTE. *--- Delete Recoded Alphanumeric Variables ---. DELETE VARIABLES QUARTER_ COUNTRY_ NATIONAL_ COUNTRYW_ COUNTRYB_ HATLEV1D_ NA111D_ NA112J1D_ NA11PR1D_ NACE1D_ NACE2J1D_ NACEPR1D_ YEARESID_. EXECUTE. *--- 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 %.