/* SZEGED_ZH_2009I_megoldas.SAS */ /* Előkészítés, hogy legyen input állomány */ data work.Teljes0(drop=id arbebev_uj index=(azonosito)); set szonda.egyutt_sullyal(keep=id irsz varos telefon letsz7 teaor03 tea_csop arbebev_uj); azonosito=id*3; arbevetel=arbebev_uj; if azonosito ne .; run; data work.Minta0(keep=azonosito letsz7 teaor03 tea_csop q: o: index=(azonosito)); set szonda.joteaorral(keep=id letsz letsz7 teaor03 tea_csop q: o:); azonosito=id*3; run; data ditsas.Minta(keep=azonosito arbevetel letsz7 teaor03 tea_csop q: o:) ditsas.Teljes(drop=q: o:); merge work.Minta0(in=m drop=quest) work.Teljes0(in=t); by azonosito; if m then kicsicc=1; if t then nagycc=1; if m then output ditsas.minta; if t then output ditsas.Teljes; run; /* =========================================================================================== */ /* EGY LEHETSÉGES MEGOLDÁS ====== */ /* 2.sz. feladat - aggregálás */ proc means sum data=ditsas.teljes(keep=tea_csop kicsicc nagycc) noprint ; class tea_csop; output out=ditsas.tea_csop(keep=tea_csop kicsicc nagycc) sum=; run; /* 3.sz. feladat - SULY változó létrehozása */ data ditsas.tea_csop; set ditsas.tea_csop; if kicsicc ne . then suly=nagycc/kicsicc; run; /* 4.sz. feladat - SULY változó létrehozása és az árbevétel teljeskörűsítése */ proc sort data=ditsas.minta; by tea_csop; run; data ditsas.minta_sullyal; merge ditsas.minta(in=m) ditsas.tea_csop(keep=tea_csop suly); by TEA_CSOP; if m; t_arbevetel=arbevetel*suly ; run; /* 5.sz. feladat - Táblázás */ Title; proc tabulate data=ditsas.minta_sullyal; class tea_csop letsz7; var t_arbevetel; table tea_csop all, (letsz7 all)*t_arbevetel; run; /* 6.sz. feladat - Táblázás formattálva */ proc format; value $tcsop 'A'='MEZŐGAZDASÁG, VADGAZDÁLKODÁS, ERDŐGAZDÁLKODÁS' 'B'='HALGAZDÁLKODÁS' 'C'='BÁNYÁSZAT' 'D'='FELDOLGOZÓIPAR' 'E'='VILLAMOSENERGIA-, GÁZ-, GŐZ-, VÍZELLÁTÁS' 'F'='ÉPÍTŐIPAR' 'G'='KERESKEDELEM, JAVÍTÁS' 'H'='SZÁLLÁSHELY-SZOLGÁLTATÁS, VENDÉGLÁTÁS' 'I'='SZÁLLÍTÁS, RAKTÁROZÁS, POSTA, TÁVKÖZLÉS' 'J'='PÉNZÜGYI KÖZVETÍTÉS' 'K'='INGATLANÜGYLETEK, GAZDASÁGI SZOLGÁLTATÁS' 'L'='KÖZIGAZGATÁS, VÉDELEM; KÖTELEZŐ TÁRSADALOMBIZTOSÍTÁS' 'M'='OKTATAS' 'N'='EGÉSZSÉGÜGYI, SZOCIÁLIS ELLÁTÁS' 'O'='EGYÉB KÖZÖSSÉGI, SZEMÉLYI SZOLGÁLTATÁS' 'P'='HÁZTARTÁSOK TEVÉKENYSÉGE' 'Q'='TERÜLETEN KÍVÜLI SZERVEZET' 'X'='ISMERETLEN' ; value lkat 1='< 10 fő' 2='10-20 fő' 3='21-50 fő' 4='51-100 fő' 5='101-200 fő' 6='201-500 fő' 7='500 főnél több' ; picture ertek low-high='000 000 000 000 000' ; run; Title 'TEAOR főcsoportonkénti árbevételek az egyes létszámkategóriákban'; proc tabulate data=ditsas.minta_sullyal f=ertek. missing; class tea_csop letsz7; var t_arbevetel; table tea_csop='' all='Összesen', t_arbevetel='Árbevétel'*(letsz7='a következő létszám kategóriákban' all='Összesen') / RTS=40 BOX='TEAOR főcsoport'; format TEA_CSOP $tcsop. letsz7 lkat.; keylabel sum=' '; run;