/** 2009 II. FÉLÉVI SAS BASE ZH KIINDULÓ ÁLLOMÁNYAI **/ /* TÖRZSÁLLOMÁNY GENERLÁS ---------------------------------------------------------------*/ data EAKTORZS (keep=kujszam regio megye); length kujszam $9 regio $1 megye $2; label kujszam='környezetvédelmi azonosító' regio='Régió' megye='Megye'; do i=1 to 10000; RND=int(ranuni(1)*10000000000+9); kujszam = substr(trim(left(1000000000+RND)),2,9); /* Régió */ RND=ranuni(1); select; when (RND GT 0.99) regio='9'; when (RND GT 0.79) regio='7'; when (RND GT 0.55) regio='6'; when (RND GT 0.50) regio='5'; when (RND GT 0.49) regio='4'; when (RND GT 0.35) regio='3'; when (RND GT 0.28) regio='2'; otherwise regio='1'; end; /* Megye */ select; when (regio='1') do; RND=ranuni(1); if RND < 0.3 then megye='11'; else if RND < 0.6 then megye='07'; else megye='19'; end; when (regio='2') do; RND=ranuni(1); if RND < 0.3 then megye='09'; else if RND < 0.6 then megye='16'; else megye='15'; end; when (regio='3') do; RND=ranuni(1); if RND < 0.3 then megye='02'; else if RND < 0.6 then megye='14'; else megye='17'; end; when (regio='4') do; RND=ranuni(1); if RND < 0.3 then megye='05'; else if RND < 0.6 then megye='10'; else megye='12'; end; when (regio='5') do; RND=ranuni(1); if RND < 0.3 then megye='08'; else if RND < 0.6 then megye='18'; else megye='20'; end; when (regio='6') do; RND=ranuni(1); if RND < 0.5 then megye='13'; else megye='01'; end; when (regio='7') do; RND=ranuni(1); if RND < 0.3 then megye='03'; else if RND < 0.6 then megye='04'; else megye='06'; end; otherwise megye='99'; end; output; end; run; /* ADATÁLLOMÁNY GENERÁLÁS ----------------------------------------------------------------*/ data EAKADAT(keep=kujszam ev teljtip termtip forgmenny teljmenny); set EAKTORZS(keep=kujszam); length kujszam $9 ev 4 teljtip $1 termtip 4 forgmenny teljmenny 8; label kujszam='környezetvédelmi azonosító' ev='év' teljtip='Teljesítés típusa' termtip='Termelés típusa' forgmenny='Forgalmazott mennyiség' teljmenny='Teljesített mennyiség'; RND=ranuni(1); select; when(RND GT 0.65) termtip=1; when(RND GT 0.30) termtip=2; otherwise termtip=3; end; RND=ranuni(1); select; when (RND GT 0.7) teljtip='B'; when (RND GT 0.55) teljtip='V'; when (RND GT 0.1) teljtip='H'; when (RND GT 0.03) teljtip='R'; otherwise teljtip='X'; end; forgmenny=int(ranuni(1)*10000); select; when (teljtip='B') teljmenny=int(0.7*forgmenny); when (teljtip='V') teljmenny=int(0.5*forgmenny); when (teljtip='H') teljmenny=int(0.2*forgmenny); when (teljtip='R') teljmenny=int(0.02*forgmenny); otherwise teljmenny=0; end; RND=ranuni(1); if RND > 0.01 and RND < 0.99 then do; ev=2008; output; end; if RND>0.07 then do; ev=2007; output; end; if RND<0.91 then do; ev=2006; output; end; run;