/FOR2 + /IF + FORMAT + FILE LOAD

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Petri Palmu
Sähköposti:    -
Päiväys: 20.11.2008 16:42

Moi,

Tilastokeskus julkistaa ihan lähiaikoina uuden
toimialaluokittelun TOL2008.

Toimialaluokkien listaus löytyy osoitteessa:
http://tilastokeskus.fi/meta/luokitukset/ 
toimiala/910-2008/koko_luokitus.html

Ajattelin tehdä tosta listasta "kunnon" .SVO-aineiston,
jotta luokituksia voi joustavasti tarkastella eri tasoilla
(1-5) ja toisaalta tieyn hierarkian mukaan.

Survolla sain suht näppärästi siirrettyä luokituslistan dataksi
(/ACTIVATE:lla suoritettavan "ohjelmapätkän" avulla).

Alla 2-taso hierarkian mukainen "paneelidataesitys":

DATA: TOL2008_2

T1 N1                             T2 N2                  APU2
A Maatalous, metsätalous ja kalat 01 Kasvinviljely ja ko    1
A Maatalous, metsätalous ja kalat 02 Metsätalous ja puun    0
A Maatalous, metsätalous ja kalat 03 Kalastus ja vesivil    0
B Kaivostoiminta ja louhinta      05 Kivihiilen ja rusko    1
B Kaivostoiminta ja louhinta      06 Raakaöljyn ja maaka    0
B Kaivostoiminta ja louhinta      07 Metallimalmien louh    0
B Kaivostoiminta ja louhinta      08 Muu kaivostoiminta     0
B Kaivostoiminta ja louhinta      09 Kaivostoimintaa pal    0
C Teollisuus                      10 Elintarvikkeiden va    1
C Teollisuus                      11 Juomien valmistus      0
C Teollisuus                      12 Tupakkatuotteiden v    0
...


Tilan puutteen vuoksi tekstejä on katkottu.

Osin tekstien pituudenkin takia halusin tehdä vähemmän
toistoa olevan esitysmuodon. Lopputulos näyttää tältä:

 TOL 2008:
----------

A  Maatalous, metsätalous ja kalatalous
   01   Kasvinviljely ja kotieläintalous, riistatalous ja n
   02   Metsätalous ja puunkorjuu
   03   Kalastus ja vesiviljely
B  Kaivostoiminta ja louhinta
   05   Kivihiilen ja ruskohiilen kaivu
   06   Raakaöljyn ja maakaasun tuotanto
   07   Metallimalmien louhinta
   08   Muu kaivostoiminta ja louhinta
   09   Kaivostoimintaa palveleva toiminta
C  Teollisuus
   10   Elintarvikkeiden valmistus
   11   Juomien valmistus
   12   Tupakkatuotteiden valmistus
...

Hyödynsin FILE LOAD + FORMAT toimintoa sekä sitten
alkuvuonna seminaarissa esittelemääni luupittajaa (nimellä /FOR2) ja
luupittajan kanssa usein tarvittavaa kursorin ehdollista
"hypyttäjää" (/IF).

Luupittajan avulla dataa käydään rivi riviltä (tuossa n=89)
ehdollisesti siten, että:
- jos ollaan 1-tason ensimmäisessä luokassa (APU2=1), niin tulostetaan

FORMAT F1
[T1] [N1]
       [T2] [N2]
END

mukaisesti.

- Jos taas ei, niin:

FORMAT F2
       [T1] [N1]
END
.

........

Itse luupituksen listaus (en käy selittämään itse luupittajaa):

*
*/FOR2 a,A / T0=1 T1=89 IN=$i
*
*
*.....................
* Ehdollinen siirtyminen...
*  EVAL=DAT_TOL2008_2(#$i,APU2)=
*  THEN=GOTO,x ELSE=GOTO,y
*
a/IF = 1       /
*
*FILE SHOW TOL2008_2
*.....................
x
aFILE LOAD -TOL2008_2,END+1 / FORMAT=F1 IND=ORD,$i
aGOTO A-1
y
aFILE LOAD -TOL2008_2,END+1 / FORMAT=F2 IND=ORD,$i
*GOTO A-1
*......................
* luupin kierros päättyy
A
*............................
* Luupin loppu
*

Voipi olla, että FILE LOAD + FORMAT luovasti soveltaen homma
menee ilman tuota luupitusta. Tai muitakin tapoja varmasti on...
Mielestäni tämä tapa on ajatuksellisesti selkeä ja nopea
toteuttaa (ja menee automatic vaikka jos raakadatassa havaitaan jälkeen
päin häiriöitä). Olisi kiva nähdä, miten Excel+Word -ihmiset
suoriutuisivat samasta ongelmasta ;)

t. Petri

Vastaukset:
[ei vastauksia]

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.