TITLE 'WERS 98 DATA DISSEMINATION SERVICE' . SUBTITLE 'MQ98DVS.SPS' . COMMENT Purpose: Creates derived variables for the WERS98 Cross-ection Main Management Interview Dataset . COMMENT Input file: None specified . COMMENT Output file: None specified . COMMENT Written by: Simon Kirby . COMMENT Last updated: 30/01/01 . *********************************************** . COMMENT Syntax should be run once MQ98FIN data file has already been opened AND syntax Mq98fix syntax has been run to correct errors in that file . COMMENT This syntax can be incorporated into an existing batch file using the INCLUDE statement . *********************************************** . COMMENT nq2_flg - Checks whether the data from Question 2 of the EPQ is consistent . COMMENT nocc_flg - Occupational Totals Flag . COMMENT nmng_flg - Managers and Senior Administrative Occupation Flag . COMMENT npro_flg - Professional Occupation Flag . COMMENT ntec_flg - Technical Occupation Flag . COMMENT ncle_flg - Clerical and Secretarial Occupation Flag . COMMENT ncrt_flg - Craft and Skilled Services Occupation Flag . COMMENT nptc_flg - Protective and Personal Services Occupation Flag . COMMENT nsal_flg - Sales Occupation Flag . COMMENT nope_flg - Operative and Assembly Occupation Flag . COMMENT nrou_flg - Routine Unskilled Occupation Flag . COMMENT nmft_flg - Male Full-time Flag . COMMENT nfft_flg - Female Full-time Flag . COMMENT nmpt_flg - Male Part-time Flag . COMMENT nfpt_flg - Female Part-time Flag . COMMENT nallfem - Total number of female employees in the workplace . COMMENT nfempc - Percentage female employees in the workplace . COMMENT nfempcb1 - Percentage female employees in the workplace (12 bands) . COMMENT nfempcb2 - Percentage female employees in the workplace (3 bands) . COMMENT nallpt - Total number of part-time employees in the workplace . COMMENT nptpc - Percentage part-time employees in the workplace . COMMENT nptpcb1 - Percentage part-time employees in the workplace (12 bands) . COMMENT nptpcb2 - Percentage part-time employees in the workplace (3 bands) . COMMENT nethpc - Percentage ethnic minority employees in the workplace . COMMENT nethpcb - Percentage ethnic minority employees in the workplace (12 bands) . COMMENT ndispc - Percentage disabled employees in the workplace . COMMENT ndispcb - Percentage disabled employees in the workplace (12 bands) . COMMENT nund20pc - Percentage of employees who are 20 or under in the workplace . COMMENT nund20pb - Percentage of employees who are 20 or under in the workplace (12 bands) . COMMENT novr51pc - Percentage of employees who are 51 or over in the workplace . COMMENT novr51pb - Percentage of employees who are 20 or under in the workplace (12 bands) . COMMENT nmanual - Total number of manual employees in the workplace . COMMENT nmanpc - Percentage manual employees in the workplace . COMMENT nmanpcb - Percentage manual employees in the workplace (12 bands) . COMMENT nmngpc - Percentage managerial employees in the workplace . COMMENT npropc - Percentage professional employees in the workplace . COMMENT ntecpc - Percentage technical employees in the workplace . COMMENT nclepc - Percentage clerical and secretarial employees in the workplace . COMMENT ncrtpc - Percentage craft and skilled services employees in the workplace . COMMENT nptcpc - Percentage protective and personal services employees in the workplace . COMMENT nsalpc - Percentage sales employees in the workplace . COMMENT nopepc - Percentage operative and assembly employees in the workplace . COMMENT nroupc - Percentage routine unskilled employees in the workplace . COMMENT nintlog - LOG used in the interview . COMMENT nilogtot - The number of employees in the LOG as used in the interview . COMMENT nilogpc - The percentage of workplace employees who are members of the LOG used in the interview . COMMENT ninlogpc - The percentage of non-managerial workplace employees who are members of the LOG used in the interview . COMMENT nepqlog - LOG identified by computation from EPQ . COMMENT nelogtot - The number of employees in the LOG identified by computation from EPQ . COMMENT nelogpc - The percentage of workplace employees who are in the non-managerial LOG identified by computation from EPQ . COMMENT nenlogpc - The percentage of non-managerial workplace employees who are in the non-managerial LOG identified by computation from EPQ . COMMENT nlogflag - Comments on identity of the LOG as indicated by nintlog and nepqlog . COMMENT nstatus - Broad sector . COMMENT nsingle - Single independent estab or part of a larger org? . COMMENT nsector - Manuf/ Services within broad sector . COMMENT nageb - Banded workplace age (current address only) (4 bands) . COMMENT nestage - Banded workplace age (current and previous address) (4 bands) . COMMENT ndensity - Union density . COMMENT ndensb1 - Banded union density (12 bands). COMMENT ndensb2 - Banded union density (7 bands). COMMENT nrecog - Are any unions recognised for collective bargaining purposes? . *********************************************************************** . COMMENT Set some flags to indicate cases in which EPQ data is not internally consistent Flag = 1 (True) if the data is not internally consistent; otherwise flag = 0 . numeric nq2_flg (f2.0) . numeric nocc_flg (f2.0) . numeric nmng_flg (f2.0) . numeric npro_flg (f2.0) . numeric ntec_flg (f2.0) . numeric ncle_flg (f2.0) . numeric ncrt_flg (f2.0) . numeric nptc_flg (f2.0) . numeric nsal_flg (f2.0) . numeric nope_flg (f2.0) . numeric nrou_flg (f2.0) . numeric nmft_flg (f2.0) . numeric nfft_flg (f2.0) . numeric nmpt_flg (f2.0) . numeric nfpt_flg (f2.0) . compute nq2_flg=(sum(zmalfull,zfemfull,zmalprt,zfemprt,0)=zallemps)=0 . compute nocc_flg=(sum(zmng_tot,zpro_tot,ztec_tot,zcle_tot,zcrt_tot,zptc_tot,zsal_tot,zope_tot,zrou_tot,0)=zallemps)=0. compute nmng_flg=(sum(zmng_mft,zmng_fft,zmng_mpt,zmng_fpt,0)=zmng_tot)=0 . compute npro_flg=(sum(zpro_mft,zpro_fft,zpro_mpt,zpro_fpt,0)=zpro_tot)=0 . compute ntec_flg=(sum(ztec_mft,ztec_fft,ztec_mpt,ztec_fpt,0)=ztec_tot)=0 . compute ncle_flg=(sum(zcle_mft,zcle_fft,zcle_mpt,zcle_fpt,0)=zcle_tot)=0 . compute ncrt_flg=(sum(zcrt_mft,zcrt_fft,zcrt_mpt,zcrt_fpt,0)=zcrt_tot)=0 . compute nptc_flg=(sum(zptc_mft,zptc_fft,zptc_mpt,zptc_fpt,0)=zptc_tot)=0 . compute nsal_flg=(sum(zsal_mft,zsal_fft,zsal_mpt,zsal_fpt,0)=zsal_tot)=0 . compute nope_flg=(sum(zope_mft,zope_fft,zope_mpt,zope_fpt,0)=zope_tot)=0 . compute nrou_flg=(sum(zrou_mft,zrou_fft,zrou_mpt,zrou_fpt,0)=zrou_tot)=0 . compute nmft_flg=(sum(zmng_mft,zpro_mft,ztec_mft,zcle_mft,zcrt_mft,zptc_mft,zsal_mft,zope_mft,zrou_mft,0)=zmalfull)=0 . compute nfft_flg=(sum(zmng_fft,zpro_fft,ztec_fft,zcle_fft,zcrt_fft,zptc_fft,zsal_fft,zope_fft,zrou_fft,0)=zfemfull)=0 . compute nmpt_flg=(sum(zmng_mpt,zpro_mpt,ztec_mpt,zcle_mpt,zcrt_mpt,zptc_mpt,zsal_mpt,zope_mpt,zrou_mpt,0)=zmalprt)=0 . compute nfpt_flg=(sum(zmng_fpt,zpro_fpt,ztec_fpt,zcle_fpt,zcrt_fpt,zptc_fpt,zsal_fpt,zope_fpt,zrou_fpt,0)=zfemprt)=0 . recode nq2_flg to nfpt_flg (sysmis=1) . execute . *********************************************** . COMMENT Adds variable and value labels for the Flag variables . variable labels nq2_flg "Checks whether the data from question 2 of the EPQ is consistent" . variable labels nocc_flg "Occupational Totals Flag" . variable labels nmng_flg "Managers and Senior Administrative Occupation Flag" . variable labels npro_flg "Professional Occupation Flag" . variable labels ntec_flg "Technical Occupation Flag" . variable labels ncle_flg "Clerical and Secretarial Occupation Flag" . variable labels ncrt_flg "Craft and Skilled Services Occupation Flag" . variable labels nptc_flg "Protective and Personal Services Occupation Flag" . variable labels nsal_flg "Sales Occupation Flag" . variable labels nope_flg "Operative and Assembly Occupation Flag" . variable labels nrou_flg "Routine Unskilled Occupation Flag" . variable labels nmft_flg "Male Full-time Flag" . variable labels nfft_flg "Female Full-time Flag" . variable labels nmpt_flg "Male Part-time Flag" . variable labels nfpt_flg "Female Part-time Flag" . value labels nq2_flg to nfpt_flg 0 "Internally consistent" 1 "Not internally consistent" . execute . *************************************************************************** . COMMENT Total number of female employees in the workplace . numeric nallfem (f5.0) . do if nq2_flg=0 . + compute nallfem=(sum.2(zfemfull,zfemprt)) . else if nq2_flg=1 . + compute nallfem=99999 . end if . missing values nallfem (99999) . variable labels nallfem "Total number of female employees in the workplace" . value labels nallfem 99999 "Data inconsistent" . execute . ***************************************************************************** . COMMENT Percentage female employees in the workplace . numeric nfempc (f4.1) . do if missing(nallfem)=0 . + compute nfempc=((nallfem*100)/zallemps) . else if missing(nallfem) . + compute nfempc=999 . end if . missing values nfempc (999) . variable labels nfempc "Percentage female employees in the workplace" . value labels nfempc 999 "Data inconsistent" . execute . ***************************************************************************** . COMMENT Creates two banded variables for percentage female employees in the workplace . COMMENT Ten per cent bands . numeric nfempcb1 (f3.0) . recode nfempc (100=12) (90 thru 100=11) (80 thru 90=10) (70 thru 80=9) (60 thru 70=8) (50 thru 60=7) (40 thru 50=6) (30 thru 40=5) (20 thru 30=4) (10 thru 20=3) (0=1) (0 thru 10=2) (999=99) into nfempcb1 . missing values nfempcb1 (99) . variable labels nfempcb1 "Percentage female employees in the workplace" . value labels nfempcb1 1 'None' 2 '0.1-9.9%' 3 '10-19.9%' 4 '20-29.9%' 5 '30-39.9%' 6 '40-49.9%' 7 '50-59.9%' 8 '60-69.9%' 9 '70-79.9%' 10 '80-89.9%' 11 '90-99.9%' 12 '100%' 99 'Data inconsistent' . COMMENT Banded as in table 10:2 of Britain at Work, page 223 . COMMENT Note, this was banded for the time series which is for workplaces with 25+ employees, whereas this recode is for 1998 Cross-section only and uses the full sample of workplaces with 10+ employees . numeric nfempcb2 (f3.0) . recode nfempc (75 thru 100=3) (25 thru 75=2) (0 thru 25=1) (999=99) into nfempcb2 . missing values nfempcb2 (99) . variable labels nfempcb2 "Percentage female employees in the workplace" . value labels nfempcb2 1 '0-24.9%' 2 '25-74.9%' 3 '75%+' 99 'Data inconsistent' . execute . ***************************************************************************** . COMMENT Total number of part-time employees in the workplace . numeric nallpt (f5.0) . do if nq2_flg=0 . + compute nallpt=(sum.2(zmalprt,zfemprt)) . else if nq2_flg=1 . + compute nallpt=99999 . end if . missing values nallpt (99999) . variable labels nallpt "Total number of part-time employees in the workplace" . value labels nallpt 99999 "Data inconsistent" . execute . ***************************************************************************** . COMMENT Percentage part-time employees in the workplace . numeric nptpc (f4.1) . do if missing(nallpt)=0 . + compute nptpc=((nallpt*100)/zallemps) . else if missing(nallpt) . + compute nptpc=999 . end if . missing values nptpc (999) . variable labels nptpc "Percentage part-time employees in the workplace" . value labels nptpc 999 "Data inconsistent" . execute . ***************************************************************************** . COMMENT Creates two banded variables for percentage part-time employees in the workplace . COMMENT Ten per cent bands . numeric nptpcb1 (f3.0) . recode nptpc (100=12) (90 thru 100=11) (80 thru 90=10) (70 thru 80=9) (60 thru 70=8) (50 thru 60=7) (40 thru 50=6) (30 thru 40=5) (20 thru 30=4) (10 thru 20=3) (0=1) (0 thru 10=2) (999=99) into nptpcb1 . missing values nptpcb1 (99) . variable labels nptpcb1 "Percentage part-time employees in the workplace" . value labels nptpcb1 1 'None' 2 '0.1-9.9%' 3 '10-19.9%' 4 '20-29.9%' 5 '30-39.9%' 6 '40-49.9%' 7 '50-59.9%' 8 '60-69.9%' 9 '70-79.9%' 10 '80-89.9%' 11 '90-99.9%' 12 '100%' 99 'Data inconsistent' . COMMENT Banded as in table 10:3 of Britain at Work, page 224 . COMMENT Note, this was banded for the time series which is for workplaces with 25+ employees, whereas this recode is for 1998 Cross-section only and uses the full sample of workplaces with 10+ employees . numeric nptpcb2 (f3.0) . recode nptpc (25 thru 100=3) (0=1) (0 thru 25=2) (999=99) into nptpcb2 . missing values nptpcb2 (99) . variable labels nptpcb2 "Percentage part-time employees in the workplace" . value labels nptpcb2 1 'None' 2 '0.1-24.9%' 3 '25%+' 99 'Data inconsistent' . execute . ***************************************************************************** . COMMENT Percentage ethnic minority employees in the workplace . numeric nethpc (f4.1) . do if missing(zethnic)=0 . + compute nethpc=((zethnic*100)/zallemps) . else if missing(zethnicp)=0 . + compute nethpc=zethnicp . else . + compute nethpc=999 . end if . missing values nethpc (999) . variable labels nethpc "Percentage ethnic minority employees in the workplace" . value labels nethpc 999 'DK/ NA' . execute . ********************************************************************* . COMMENT Bands percetage ethnic minority employees in the workplace into 10% bands . numeric nethpcb (f3.0) . recode nethpc (100=12) (90 thru 100=11) (80 thru 90=10) (70 thru 80=9) (60 thru 70=8) (50 thru 60=7) (40 thru 50=6) (30 thru 40=5) (20 thru 30=4) (10 thru 20=3) (0=1) (0 thru 10=2) (999=99) into nethpcb . missing values nethpcb (99) . variable labels nethpcb "Percentage ethnic minority employees in the workplace" . value labels nethpcb 1 'None' 2 '0.1-9.9%' 3 '10-19.9%' 4 '20-29.9%' 5 '30-39.9%' 6 '40-49.9%' 7 '50-59.9%' 8 '60-69.9%' 9 '70-79.9%' 10 '80-89.9%' 11 '90-99.9%' 12 '100%' 99 'DK/ NA' . execute . *********************************************** . COMMENT Percentage disabled employees in the workplace . numeric ndispc (f4.1) . do if missing(zdisab)=0 . + compute ndispc=((zdisab*100)/zallemps) . else if missing(zdisabpc)=0 . + compute ndispc=zdisabpc . else . + compute ndispc=999 . end if . missing values ndispc (999) . variable labels ndispc "Percentage disabled employees in the workplace" . value labels ndispc 999 'DK/ NA' . execute . ********************************************************************* . COMMENT Bands percetage disabled employees in the workplace into 10% bands . numeric ndispcb (f3.0) . recode ndispc (100=12) (90 thru 100=11) (80 thru 90=10) (70 thru 80=9) (60 thru 70=8) (50 thru 60=7) (40 thru 50=6) (30 thru 40=5) (20 thru 30=4) (10 thru 20=3) (0=1) (0 thru 10=2) (999=99) into ndispcb . missing values ndispcb (99) . variable labels ndispcb "Percentage disabled employees in the workplace" . value labels ndispcb 1 'None' 2 '0.1-9.9%' 3 '10-19.9%' 4 '20-29.9%' 5 '30-39.9%' 6 '40-49.9%' 7 '50-59.9%' 8 '60-69.9%' 9 '70-79.9%' 10 '80-89.9%' 11 '90-99.9%' 12 '100%' 99 'DK/ NA' . execute . *********************************************** . COMMENT Percentage of employees who are 20 or under in the workplace . numeric nund20pc (f4.1) . do if missing(zund20)=0 . + compute nund20pc=((zund20*100)/zallemps) . else if missing(zund20pc)=0 . + compute nund20pc=zund20pc . else . + compute nund20pc=999 . end if . missing values nund20pc (999) . variable labels nund20pc "Percentage of employees who are 20 or under in the workplace" . value labels nund20pc 999 'DK/ NA' . execute . ********************************************************************* . COMMENT Bands percentage of employees who are 20 or under in the workplace . numeric nund20pb (f3.0) . recode nund20pc (100=12) (90 thru 100=11) (80 thru 90=10) (70 thru 80=9) (60 thru 70=8) (50 thru 60=7) (40 thru 50=6) (30 thru 40=5) (20 thru 30=4) (10 thru 20=3) (0=1) (0 thru 10=2) (999=99) into nund20pb . missing values nund20pb (99) . variable labels nund20pb "Percentage of employees who are 20 or under in the workplace" . value labels nund20pb 1 'None' 2 '0.1-9.9%' 3 '10-19.9%' 4 '20-29.9%' 5 '30-39.9%' 6 '40-49.9%' 7 '50-59.9%' 8 '60-69.9%' 9 '70-79.9%' 10 '80-89.9%' 11 '90-99.9%' 12 '100%' 99 'DK/ NA' . execute . *********************************************** . COMMENT Percentage of employees who are 51 or over in the workplace . numeric novr51pc (f3.1) . do if missing(zover51)=0 . + compute novr51pc=((zover51*100)/zallemps) . else if missing(zover51p)=0 . + compute novr51pc=zover51p . else . + compute novr51pc=999 . end if . missing values novr51pc (999) . variable labels novr51pc "Percentage of employees who are 51 or over in the workplace" . value labels novr51pc 999 'DK/ NA' . execute . *********************************************** . COMMENT Bands percentage of employees who are 51 or over in the workplace . numeric novr51pb (f3.0) . recode novr51pc (100=12) (90 thru 100=11) (80 thru 90=10) (70 thru 80=9) (60 thru 70=8) (50 thru 60=7) (40 thru 50=6) (30 thru 40=5) (20 thru 30=4) (10 thru 20=3) (0=1) (0 thru 10=2) (999=99) into novr51pb . missing values novr51pb (99) . variable labels novr51pb "Percentage of employees who are 20 or under in the workplace" . value labels novr51pb 1 'None' 2 '0.1-9.9%' 3 '10-19.9%' 4 '20-29.9%' 5 '30-39.9%' 6 '40-49.9%' 7 '50-59.9%' 8 '60-69.9%' 9 '70-79.9%' 10 '80-89.9%' 11 '90-99.9%' 12 '100%' 99 'DK/ NA' . execute . *********************************************** . COMMENT Total number of manual employees in the workplace . numeric nmanual (f6.0) . do if nocc_flg=0 . + compute nmanual=(sum.4(zcrt_tot,zptc_tot,zope_tot,zrou_tot)) . else if nocc_flg=1 . + compute nmanual=99999 . end if . missing values nmanual (99999) . variable labels nmanual "Total number of manual employees in the workplace" . value labels nmanual 99999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage manual employees in the workplace . numeric nmanpc (f4.1) . do if nocc_flg=0 . + compute nmanpc=((nmanual*100)/zallemps) . else if (nocc_flg=1) . + compute nmanpc=999 . end if . missing values nmanpc (999) . variable labels nmanpc "Percentage manual employees in the workplace" . value labels nmanpc 999 "Data inconsistent" . execute . *********************************************** . COMMENT Bands percentage manual employees in the workplace . numeric nmanpcb (f3.0) . recode nmanpc (100=12) (90 thru 100=11) (80 thru 90=10) (70 thru 80=9) (60 thru 70=8) (50 thru 60=7) (40 thru 50=6) (30 thru 40=5) (20 thru 30=4) (10 thru 20=3) (0=1) (0 thru 10=2) (999=99) into nmanpcb . missing values nmanpcb (99) . variable labels nmanpcb "Percentage manual employees in the workplace" . value labels nmanpcb 1 'None' 2 '0.1-9.9%' 3 '10-19.9%' 4 '20-29.9%' 5 '30-39.9%' 6 '40-49.9%' 7 '50-59.9%' 8 '60-69.9%' 9 '70-79.9%' 10 '80-89.9%' 11 '90-99.9%' 12 '100%' 99 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage managerial employees in the workplace . numeric nmngpc (f4.1) . do if nmng_flg=0 . + compute nmngpc=((zmng_tot*100)/zallemps) . else . + compute nmngpc=999 . end if . missing values nmngpc (999) . variable labels nmngpc "Percentage managerial employees in the workplace" . value labels nmngpc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage professional employees in the workplace . numeric npropc (f4.1) . do if npro_flg=0 . + compute npropc=((zpro_tot*100)/zallemps) . else . + compute npropc=999 . end if . missing values npropc (999) . variable labels npropc "Percentage professional employees in the workplace" . value labels npropc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage technical employees in the workplace . numeric ntecpc (f4.1) . do if ntec_flg=0 . + compute ntecpc=((ztec_tot*100)/zallemps) . else . + compute ntecpc=999 . end if . missing values ntecpc (999) . variable labels ntecpc "Percentage technical employees in the workplace" . value labels ntecpc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage clerical and secretarial employees in the workplace . numeric nclepc (f4.1) . do if ncle_flg=0 . + compute nclepc=((zcle_tot*100)/zallemps) . else . + compute nclepc=999 . end if . missing values nclepc (999) . variable labels nclepc "Percentage clerical and secretarial employees in the workplace" . value labels nclepc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage craft and skilled services employees in the workplace . numeric ncrtpc (f4.1) . do if ncrt_flg=0 . + compute ncrtpc=((zcrt_tot*100)/zallemps) . else . + compute ncrtpc=999 . end if . missing values ncrtpc (999) . variable labels ncrtpc "Percentage craft and skilled services employees in the workplace" . value labels ncrtpc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage protective and personal services employees in the workplace . numeric nptcpc (f4.1) . do if nptc_flg=0 . + compute nptcpc=((zptc_tot*100)/zallemps) . else . + compute nptcpc=999 . end if . missing values nptcpc (999) . variable labels nptcpc "Percentage protective and personal services employees in the workplace" . value labels nptcpc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage sales employees in the workplace . numeric nsalpc (f4.1) . do if nsal_flg=0 . + compute nsalpc=((zsal_tot*100)/zallemps) . else . + compute nsalpc=999 . end if . missing values nsalpc (999) . variable labels nsalpc "Percentage sales employees in the workplace" . value labels nsalpc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage operative and assembly employees in the workplace . numeric nopepc (f4.1) . do if nope_flg=0 . + compute nopepc=((zope_tot*100)/zallemps) . else . + compute nopepc=999 . end if . missing values nopepc (999) . variable labels nopepc "Percentage operative and assembly employees in the workplace" . value labels nopepc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Percentage routine unskilled employees in the workplace . numeric nroupc (f4.1) . do if nrou_flg=0 . + compute nroupc=((zrou_tot*100)/zallemps) . else . + compute nroupc=999 . end if . missing values nroupc (999) . variable labels nroupc "Percentage routine unskilled employees in the workplace" . value labels nroupc 999 'Data inconsistent' . execute . *********************************************** . COMMENT Derives variable of the LOG used during the management interview . numeric nilogtot (f7.0) . numeric nintlog (f2.0) . recode zpro_tot ztec_tot zcle_tot zcrt_tot zptc_tot zsal_tot zope_tot zrou_tot (else=copy) into occu2 to occu9 . missing values occu2 to occu9 (999999) . vector voccu=occu2 to occu9 . compute nilogtot=0 . loop #i=1 to 8 . do if missing(voccu(#i))=0 . + do if voccu(#i)>=nilogtot . + compute nintlog=(#i + 1) . + compute nilogtot=voccu(#i) . + end if . else if missing(voccu(#i)) . + compute nintlog=99 . + compute nilogtot=999999 . end if . end loop . execute . do if any (serno,11043,11201,11267) . + compute nintlog=1 . + compute nilogtot=zmng_tot . else if any(serno,11948,12364,12879,13814) . + compute nintlog=4 . + compute nilogtot=zcle_tot . else if any(serno,11301,12927,14109) . + compute nintlog=6 . + compute nilogtot=zptc_tot . else if serno=13843 . + compute nintlog=7 . + compute nilogtot=zsal_tot . else if any(serno,12892,14126) . + compute nintlog=9 . + compute nilogtot=zrou_tot . else if any(serno,12628,12723,13867) . + compute nintlog=99 . + compute nilogtot=999999 . end if . missing values nintlog (99) . missing values nilogtot (999999) . execute . variable labels nintlog "LOG used in the interview" . variable labels nilogtot "The number of employees in the LOG as used in the interview" . value labels nintlog 1 'Managers' 2 'Professional' 3 'Technical' 4 'Clerical and secretarial' 5 'Craft and skilled services' 6 'Protective and personal services' 7 'Sales' 8 'Operative and assembly' 9 'Routine unskilled' 99 'DK/NA' . value lables nilogtot 999999 'DK/NA' . *********************************************************** . COMMENT The percentage of workplace employees who are members of the LOG used in the interview . COMMENT The percentage of non-managerial workplace employees who are members of the LOG used in the interview . numeric nilogpc (f4.1) . numeric ninlogpc (f4.1) . do if missing(nilogtot)=0 . + compute nilogpc=((nilogtot*100)/(sum.9(zmng_tot,zpro_tot,ztec_tot,zcle_tot,zcrt_tot,zptc_tot, zsal_tot,zope_tot,zrou_tot,0))) . + compute ninlogpc=((nilogtot*100)/(sum.8(zpro_tot,ztec_tot,zcle_tot,zcrt_tot,zptc_tot,zsal_tot, zope_tot,zrou_tot,0))) . end if . execute . do if missing(nilogtot) . + compute nilogpc=9999 . + compute ninlogpc=9999 . else if nintlog=1 . + compute ninlogpc=9998 . end if . missing values nilogpc (9999) . missing values ninlogpc (9998 9999) . execute . variable labels nilogpc "The percentage of workplace employees who are members of the LOG used in the interview" . value labels nilogpc 9999 'DK/NA' . variable labels ninlogpc "The percentage of non-managerial workplace employees who are members of the LOG used in the interview" . value labels ninlogpc 9998 'Managers given as LOG, this variable not computed' 9999 'DK/ NA' . *********************************************** . COMMENT Non-managerial LOG as computed from data from the EPQ . numeric nelogtot (f7.0) . numeric nepqlog (f4.0) . recode zpro_tot ztec_tot zcle_tot zcrt_tot zptc_tot zsal_tot zope_tot zrou_tot (else=copy) into occ2 to occ9 . missing values occ2 to occ9 (999999) . vector vocc=occ2 to occ9 . compute nelogtot=0 . loop #i=1 to 8 . do if missing(vocc(#i))=0 . + do if vocc(#i)>=nelogtot . + compute nepqlog=(#i + 1) . + compute nelogtot=vocc(#i) . + end if . else if missing(vocc(#i)) . + compute nepqlog=99 . + compute nelogtot=999999 . end if . end loop . execute . do if ((xcode1=1 or xcode3=3) or (missing(zpro_tot) or missing(ztec_tot) or missing(zcle_tot) or missing(zcrt_tot) or missing(zptc_tot) or missing(zsal_tot) or missing(zope_tot) or missing(zrou_tot)) or (nocc_flg~=0)) . + compute nepqlog=99 . + compute nelogtot=999999 . end if . missing values nepqlog (99) . missing values nelogtot (999999) . execute . ********************************************************************** . COMMENT Derives the proportion of employess from the workplace who are in the largest non-managerial occupational group as identified by the EPQ . numeric nelogpc (f4.1) . numeric nenlogpc (f4.1) . do if missing(nelogtot)=0 . + compute nelogpc=((nilogtot*100)/(sum.9(zmng_tot,zpro_tot,ztec_tot,zcle_tot,zcrt_tot,zptc_tot, zsal_tot,zope_tot,zrou_tot,0))) . + compute nenlogpc=((nilogtot*100)/(sum.8(zpro_tot,ztec_tot,zcle_tot,zcrt_tot,zptc_tot,zsal_tot, zope_tot,zrou_tot,0))) . end if . execute . do if missing(nelogtot) . + compute nelogpc=9999 . + compute nenlogpc=9999 . end if . missing values nelogpc (9999) . missing values nenlogpc (9999) . execute . variable labels nelogpc "The percentage of workplace employees who are in the non-managerial LOG identified by computation from EPQ" . value labels nelogpc 9999 'DK/ NA' . variable labels nenlogpc "The percentage of non-managerial workplace employees who are in the non-managerial LOG identified by computation from EPQ" . value labels nenlogpc 9999 'DK/ NA' . variable labels nepqlog "LOG identified by computation from EPQ" . variable labels nelogtot "The number of employees in the LOG identified by computation from EPQ" . value labels nepqlog 2 'Professional' 3 'Technical' 4 'Clerical and secretarial' 5 'Craft and skilled services' 6 'Protective and personal services' 7 'Sales' 8 'Operative and assembly' 9 'Routine unskilled' 99 'DK/NA' . value lables nelogtot 999999 'DK/NA' . ******************************************************************** . COMMENT Checks data and produces a variable that explains discrepancies between the LOG used in the interview and the LOG as identified from analysing the EPQ . numeric check (f2.0) . compute check=0 . do if nocc_flg=1 . + compute check=2 . end if . execute . variable labels check "Cases where the LOG identified in the interview is inconsistent with the EPQ data after the post-fieldwork coding" . value labels check 0 "Internally consistent" 2 "Inconsistency in occupational totals highlighted by nocc_flg" . do if check=2 . + compute occper=((100/zallemps)*(sum(zmng_tot,zpro_tot,ztec_tot,zcle_tot,zcrt_tot,zptc_tot,zsal_tot,zope_tot,zrou_tot,0))) . end if . execute . numeric nlogflag (f2.0) . compute nlogflag=0 . do if xcode5=5 and nocc_flg=0 and nintlog=1 and missing(nlogflag)=0 . + compute nlogflag=1 . else if xcode5=5 and nocc_flg=0 and nepqlog=2 . + compute nlogflag=2 . else if (xcode1=1 or xcode3=3) . + compute nlogflag=4 . end if . execute . do if (serno=13867) . + compute nlogflag=3 . end if . execute . do if nocc_flg=1 and nlogflag~=4 and (occper>=95 and occper<=105) . + compute nlogflag=5 . else if nocc_flg=1 and nlogflag~=4 and (occper<95 or occper>105) and missing(nintlog)=0 . + compute nlogflag=6 . else if nocc_flg=1 and nlogflag~=4 and (occper<95 or occper>105) and missing(nintlog) . + compute nlogflag=7 . end if . execute . variable labels nlogflag "Comments on identity of the LOG as indicated by nintlog and nepqlog" . value labels nlogflag 0 "Identity clear: NINTLOG and NEPLOG consistent" 1 "Interviewee insisted Mgrs, EPQ indicates correct non-mgr LOG" 2 "Misclassified in interview, EPQ indicates professional" 3 "Interview LOG unknown, EPQ indicates numerical LOG" 4 "LOG unkown, deleted by research team (xcode1 & 2)" 5 "NINTLOG known, but EPQ sums to within 5% of total emps" 6 "NINTLOG known, but EPQ sums to outside 5% of total emps" 7 "NINTLOG not known, EPQ sums to outside 5% of total emps" . do if nlogflag=4 . + compute nepqlog=97 . + compute nelogtot=999997 . else if nlogflag=5 . + compute nepqlog=98 . + compute nelogtot=999998 . else if nlogflag=6 . + compute nepqlog=99 . + compute nelogtot=999999 . end if . missing values nepqlog (97,98,99) . missing values nelogtot (999997,999998,999999) . execute . add value labels nepqlog 97 "Occ totals not present on the dataset" 98 "Occ totals sum to within 5% of total employees" 99 "Occ totals sum to outside 5% of total employees" . value labels nelogtot 999997 "Occ totals not present on the dataset" 999998 "Occ totals sum to within 5% of total employees" 999999 "Occ totals sum to outside 5% of total employees" . *********************************************** . COMMENT Status of the workplace. recode astatus (1,2 = 1) (3=2) into nstatus . execute. variable labels nstatus "Broad sector" . value labels nstatus 1 'Private sector' 2 'Public sector'. *********************************************** . COMMENT Recode ASINGLE so that singles are on code 1 Also, recode SoleUK cases to Multi, as they are conceptually part of larger organisations . recode asingle (2=1) (1,3=2) into nsingle . execute. variable labels nsingle "Single independent estab or part of a larger org?" . value labels nsingle 1 "Single independent establishment" 2 "Part of a larger organisation" . *********************************************** . COMMENT Creates sector variable, by private manufacturing, private services and public sector . do if (astatus=1 or astatus=2) and asic=1 . + compute nsector=1 . else if (astatus=1 or astatus=2) and asic>1 . + compute nsector=2 . else if astatus=3 . + compute nsector=3 . end if . variable labels nsector "Manuf/ Services within broad sector" . value labels nsector 1 'Private manufacturing' 2 'Private services' 3 'Public sector' . execute . *********************************************** . COMMENT Creates a banded variable of the length of time that the workplace has been at the current address . numeric nageb (f1.0) . recode ahowlong (0 thru 4=1) (5 thru 9=2) (10 thru 24=3) (25 thru 665=4) (999=99) into nageb . missing values nageb (99) . variable labels nageb "Banded workplace age (current address only)" . value labels nageb 1 '0-4 years' 2 '5-9 years' 3 10-24 years' 4 '25+ years' 99 'DK/ NA' . execute . *********************************************** . COMMENT Creates a banded variable for the length of time that the workplace has been at the current and previous address . numeric nestage (f1.0) . do if missing(ahowlong)=0 and ahowlong>24 and missing(address2)=0 and address2=1 . + compute nestage=4 . else if missing(ahowlong)=0 and ahowlong<=24 and ahowlong>9 and missing(address2)=0 and address2=1 . + compute nestage=3 . else if missing(ahowlong)=0 and ahowlong<=9 and ahowlong>4 and missing(address2)=0 and address2=1 . + compute nestage=2 . else if missing(ahowlong)=0 and ahowlong<=4 and missing(address2)=0 and address2=1 . + compute nestage=1 . else if (missing(ahowlong)=0 and ahowlong>24) . + compute nestage=4 . else if (missing(ahowlong)=0 AND ahowlong<25 and missing(aprev5yr)=0). + if sum.2(ahowlong,aprev5yr)<=4 nestage=1 . + if sum.2(ahowlong,aprev5yr)>4 and sum(ahowlong,aprev5yr)<=9 nestage=2 . + if sum.2(ahowlong,aprev5yr)>9 and sum(ahowlong,aprev5yr)<=24 nestage=3 . + if sum.2(ahowlong,aprev5yr)>24 nestage=4 . else if (missing(ahowlong) and missing(aprev5yr)=0 and aprev5yr>24) . + compute nestage=4 . else . + compute nestage=9 . end if . missing values nestage (9) . variable labels nestage "Banded workplace age (current and previous address)" . value labels nestage 1 "0-4 years" 2 "5-9 years" 3 "10-24 years" 4 "25+ years" 9 "DK/ NA" . execute . *********************************************************************** . COMMENT Union density variable . numeric ndensity (f5.1) . do if missing(ztu_mem)=0 . + compute ndensity=((ztu_mem*100)/zallemps) . + if (ztu_mem>zallemps) ndensity=99999 . else if (missing(ztu_mem) and missing(ztu_pc)=0) . + compute ndensity=ztu_pc . else if (missing(ztu_mem) and missing(ztu_pc) and zanymem=2) . + compute ndensity=0 . else if (missing(ztu_mem) and missing(ztu_pc) and zanymem=1) . + compute ndensity=99999 . end if . missing values ndensity (99999) . variable labels ndensity "Union density" . value labels ndensity 99999 'Some but dont know how many' . execute . ************************************************************** . COMMENT Banded union density variable using 10 per cent bands . numeric ndensb1 (f3.0) . recode ndensity (100=12) (90 thru 100=11) (80 thru 90=10) (70 thru 80=9) (60 thru 70=8) (50 thru 60=7) (40 thru 50=6) (30 thru 40=5) (20 thru 30=4) (10 thru 20=3) (0=1) (0 thru 10=2) (99999=99) into ndensb1 . missing values ndensb1 (99) . execute . variable labels ndensb1 "Union density" . value labels ndensb1 1 'No union members' 2 '0.1 to 9.9 per cent' 3 '10 to 19.9 per cent' 4 '20 to 29.9 per cent' 5 '30 to 39.9 per cent' 6 '40 to 49.9 per cent' 7 '50 to 59.9 per cent' 8 '60 to 69.9 per cent' 9 '70 to 79.9 per cent' 10 '80 to 89.9 per cent' 11 '90 to 99.9 per cent' 12 '100 per cent' 99 'Some but dont know how many' . ************************************************************** . COMMENT Banded union density variable using 25 per cent bands . numeric ndensb2 (f3.0) . recode ndensity (100=7) (90 thru 100=6) (75 thru 90=5) (50 thru 75=4) (25 thru 50=3) (0=1) (0 thru 25=2) (99999=99) into ndensb2 . missing values ndensb2 (99) . variable labels ndensb2 "Union density" . value labels ndensb2 1 'No union members' 2 '0.1 to 24.9 per cent' 3 '25 to 49.9 per cent' 4 '50 to 74.9 per cent' 5 '75 to 89.9 per cent' 6 '90 to 99.9 per cent' 7 '100 per cent' 99 'Some but dont know how many' . execute . ************************************************************************ . COMMENT Creates derived variable that breaks down recognition into recogntion, members but no recogntion, and no union members . numeric nrecog (f2.0) . do if missing(etotrec)=0 and etotrec>0 . + compute nrecog=1 . else if etotrec=0 and eanyemp=1 . + compute nrecog=2 . else . + if (eanyemp=2) nrecog=3 . end if . do if missing(etotrec) and eanyemp=1 . + compute nrecog=99 . end if . missing values nrecog (99) . variable labels nrecog "Are any unions recognised for collective bargaining purposes?" . value labels nrecog 1 'Union recognised' 2 'Members no recognition' 3 'No union members' 99 'Members, but not sure if unions recognised' . execute . *************************** END ******************************************* .