#!/usr/local/bin/jperl ######################################################## # SSM 95 職歴データ分析用プログラム # フルタイム継続率・職種分析用データ出力 # 1997.06.25 ######################################################## $start = time; $, = " " ; $\ = "\n" ; unshift( @INC, 'c:/lib/perl' ); # ssm95a.pl のあるディレクトリを指定 require 'ssm95a.pl' ; require 'occ.pl' ; require 'outputd.pl' ; MAIN: for( $N=1; read(BINDATA,$record,$para{'recordsize'}) ; ++$N ){ &set_Q; # バイナリデータを unpack する next unless 2==$Q[$Q{'Q1_1'}] ; # 女性のみ &hash_agew; # 年齢 -> 職歴段ハッシュ作成 # -------- 結婚前初職がフル or パートの者のみ next unless 0 < ($fj_single=&fj_single) ; $empstat_fjs = &empstat($fj_single) ; next unless 2==$empstat_fjs || 3==$empstat_fjs ; $s_occ = &occ8595( $fj_single ) ; # 管理職変換 $s_occ8 = $occ8{$s_occ} ; $s_occ6 = &occ6( $fj_single ) ; $s_score = $score75{$s_occ} ; # -------- 末子出産時職業 next unless 0 < ($age_lc=&age_lc) ; $empstat_lc = &empstat( $agew{$age_lc} ); # -------- 教育年数 $eduyear = $eduyear{$Q[$Q{'Q10_1'}]} ; # -------- 結婚時夫職業 $W{ 'spouse0' , 'page' } = $MISS{'OUT'} ; $W{ 'spouse0', 'number'} = $MISS{'OUT'} ; $W{ 'spouse0', 'status'} = $Q{'Q26_1A'} ; $W{'spouse0','industry'} = $Q{'Q26_1C'} ; $W{ 'spouse0' , 'size' } = $Q{'Q26_1D'} ; $W{ 'spouse0' , 'job' } = $Q{'Q26_1E'} ; $W{ 'spouse0' , 'post' } = $Q{'Q26_1F'} ; $W{ 'spouse0' , 'start'} = $Q{'MarAge'} ; $h_occ = &occ8595( 'spouse0' ) ; $h_occ8 = $occ8{ $h_occ } ; $h_occ6 = &occ6( 'spouse0' ) ; $h_score = $score75{ $h_occ } ; # -------- 結婚・出産までのフルタイム継続 if( 2==$empstat_fjs ) { if( 2==$empstat_lc ) { $fullcont=1 ; } elsif( 3==$empstat_lc || 9==$empstat_lc ) { $fullcont=0 ; } else { $fullcont=$MISS{'OUT'} ; } } else { $fullcont=$MISS{'OUT'} ; } # -------- 変数 @line = ( $Q[$Q{'Q10_1'}], # 学歴 $eduyear, # 教育年数 $s_occ, # 初職小分類 $s_occ8, # 初職大分類 $s_occ6, # 初職6分類 $s_score, # 初職威信 $Q[$W{ $fj_single , 'industry' }], # 初職産業 $Q[$W{ $fj_single , 'size' }], # 初職規模 $h_occ, # 夫職小分類 $h_occ8, # 夫職大分類 $s_occ6, # 夫職6分類 $h_score, # 夫職威信 $Q[$W{'spouse0','industry'}], # 夫職産業 $Q[$W{ 'spouse0' , 'size' }], # 夫職規模 $fullcont, # フルタイム継続 $Q[$Q{'AGE'}], # 年齢 $Q[$Q{'Q1_2M'}], # 誕生月 $Q[$Q{'MarStat'}], # 未既婚 $Q[$Q{'MarAge'}], # 結婚年 $Q[$Q{'Q29_1'}], # 子供数 &age_fc, # 長子誕生時年齢 $age_lc, # 末子誕生時年齢 ) ; print &sasmiss( @line ); } print STDERR "\nsec\t" , time()-$start, "\n"; __END__; /* SSM 95 女性フルタイム継続率・職種分析用データ */ options NoDate NoCenter NoNumber NoOvp PS=32767 LS=256; missing A B; data; infile '970625.dat'; input edu eduyear s_occ s_occ8 s_occ6 s_score s_ind s_size h_occ h_occ8 h_occ6 h_score h_ind s_size fullcont AGE Q1_2M MarStat MarAge Q29_1 age_fc age_lc ; proc FREQ; table _ALL_ /MissPrint ; quit;